Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Web service android e servlet?

    Ciao a tutti amici, ascoltate, sono un ragazzo universitario e starei dando al tesi di laurea. Devo fare un applicazione android che si collega ad un web service che a sua volta interroga un'applicazione (scritta in java da un precedente tesista). Ora mi hanno consigliato nel forum android di utilizzare il protocollo REST per sviluppare il web service è in particolare io avevo pensato ad una httpRequest dal client android che poi andava ad interrogare una servlet java. Ma questo sviluppatore mi ha consigliato di scrivere il server in Jax. Voi cosa mi consigliate????Vi ringrazio tutti a prescindere

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Re: Aiutatemi per favore

    Originariamente inviato da xavidmonkey
    Voi cosa mi consigliate????Vi ringrazio tutti a prescindere
    Innanzitutto, una lettura del Regolamento interno di questo forum.

    I titoli delle discussioni vanno inseriti con criterio.

    Correggo io.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    ti ringrazio per avermi corretto il titolo sei stato molto gentile

  4. #4
    Se hai bisogno di scrivere web services REST su tecnologia Java/JEE, ti consiglio VIVAMENTE di utilizzare Spring.
    Sostanzialmente, devi creare un controller mappando url e metodo http per i suoi singoli messaggi.
    Il mio controller, tanto per dare un'idea della semplicità della cosa, è questo:
    codice:
    @Controller
    public class MoviesCatalogRestController {
    	@Autowired
    	private MovieRepository movieRepository;
    	
    	@RequestMapping(value="/movies", method=RequestMethod.GET)
    	@ResponseStatus(HttpStatus.OK)
    	public @ResponseBody List<Movie> getMovieList() {
    		List<Movie> sortedMovies = new ArrayList<Movie>(movieRepository.findAll());
    		Collections.sort(sortedMovies, new Comparator<Movie>() {
    			@Override
    			public int compare(Movie o1, Movie o2) {
    				return o1.getName().compareTo(o2.getName());
    			}
    		});
    		
    				
    		return sortedMovies;
    	}
    	
    	@RequestMapping(value="/movies/{movieId}", method=RequestMethod.GET)
    	@ResponseStatus(HttpStatus.OK)
    	public @ResponseBody Movie getMovieDetails(@PathVariable("movieId") int movieId) {
    		return movieRepository.findById(movieId);
    	}
    	
    	@RequestMapping(value="/movies", method=RequestMethod.POST)
    	@ResponseStatus(HttpStatus.CREATED)
    	public void saveMovie(@RequestBody Movie movie, 
    			HttpServletRequest request,
    			HttpServletResponse response) {
    		movieRepository.saveMovie(movie);
    		response.setHeader("Location", 
    				getLocationForChildResource(request, movie));
    	}
    	
    	@RequestMapping(value="/movies/{movieId}", method=RequestMethod.DELETE)
    	@ResponseStatus(HttpStatus.NO_CONTENT)
    	public void deleteMovie(@RequestBody Movie movie) {
    		movieRepository.deleteMovie(movie.getId());
    	}
    	
    	public void setMovieRepository(MovieRepository movieRepository) {
    		this.movieRepository = movieRepository;
    	}
    
    	private static String getLocationForChildResource(HttpServletRequest request, Object childIdentifier) {
    		StringBuffer url = request.getRequestURL();
    		UriTemplate template = new UriTemplate(url.append("/{childId}").toString());
    		return template.expand(childIdentifier).toASCIIString();
    	}
    }
    Spring utilizza il protocollo di comunicazione più adatto sulla base dell'header 'Accept' mandato dal client. Ad ogni modo, ti consiglio JSon.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.