2013-01-11 9 views
5

Sono nuovo di java. Stavo guardando il codice qui sotto.Significato di @Produces, @GET, @Path e @QueryParam prima della definizione della funzione

@Produces("text/xml") 
@GET 
@Path("/xml/search") 
public Object searchXML(@QueryParam("query") String query, 
     @QueryParam("granularity") String granularity) { 
    return search(query, granularity); 
} 

non riuscivo a capire gli usi di @Produces, @GET, @Path e @QueryParam prima definizione di funzione nel codice di cui sopra. Nessuno può far luce su questo. Grazie

risposta

5

Tali anotazioni sono definite da JAX-RS, uno standard per i servizi Web RESTful.

Nell'esempio di cui sopra, significa il metodo gestirà un:

  • richiesta GET

  • sul percorso "/ xml/ricerca"

  • e mappare l'argomento query " query "a argomento query stringa,

  • nonché la" granularità "alla granularità

  • il risultante tipo di contenuto sarà "text/xml"

(e probabilmente chiamare un marshaller personalizzato per questo)

(vedi this page per un riferimento)

+0

Grazie aldrinleal – piku

0

Un metodo produttore è un metodo che genera un oggetto che può essere iniettato. Link Quando si vuole iniettare un oggetto che non è in sé un fagiolo Quando il tipo concreto dell'oggetto da iniettare può variare in fase di esecuzione Quando l'oggetto richiede un po 'di inizializzazione personalizzato che il costruttore di fagioli non esegue

@ GET: trasmette una rappresentazione della risorsa identificata dall'URI al client. Il formato potrebbe essere HTML, testo normale, JPEG e così via. Vedi Come trasmettere una rappresentazione della risorsa (@GET). Link

@Path (param): @PathParam è un'annotazione parametro che consente di mappare frammenti di percorso URI variabile nella chiamata al metodo. Link

può usare @QueryParam annotazione per iniettare parametro di query URI in metodo Java Link

0

@Produces annotazione è per specificare i tipi di media MIME di rappresentazioni di una risorsa in grado di produrre e rispedire al MediaType client.here è un testo piuttosto xml può essere ricevuto,

@GET è un metodi HTTP come @PUT, @POST, @DELETE

@Path valore di annotazione è un percorso relativo URI .In questo la chiamata di funzione sarà da servizio è attraverso il percorso come /xml/search/ al funziona con i parametri.

@QueryParam estrae i parametri di query dal componente Query dell'URL di richiesta, in questo riceve i parametri come string dall'URL.

Document Referencemore info

Problemi correlati