Qual è la differenza tra QueryParam e pathParam nei servizi Web?


Migliore risposta

Ciao!

Discutiamo

QueryParam: – Nel servizio Restful tutto è basato sul protocollo Http.

Quindi, ogni volta che vogliamo inviare dei dati, possiamo inviare quei dati utilizzando il parametro della query che viene aggiunto allURL.

Esempio: –

http://localhost:8081/SearchApp/book?name=java Qui QueryParam è il nome. e il suo valore è java.

Quindi qui QueryParams sono facoltativi, non è obbligatorio inviare il parametro della query.

quindi se non aggiungi QueryParam non otterrai lerrore 404. Potresti ricevere uneccezione nullPointer poiché il valore sarà null.

@GET

@Path("/book")

List getBooks(@QueryParam("name")String bookName){

}

PathParam: -Quindi se vuoi inviare i dati come obbligatori puoi aggiungere il valore come segmento direttamente allurl. Se non aggiungi il parametro del percorso, otterrai lerrore 404.

Esempio: – http://localhost:8081/SearchApp/book/java (quindi qui direttamente il valore java viene aggiunto come segmento URL)

In servizio

Puoi recuperare in questo modo: –

@GET

@Path("/book/{bookname}")

List getBooks(@PathParam("bookname")String bookName){

}

Risposta

In uno schema REST comune, la parte del percorso dellURL rappresenta la gerarchia delle classi di entità (/ Tables / Dining Daltra parte, i parametri di query potrebbero essere riservati agli attributi per individuare listanza della classe per ottenere risultati più specifici. Ad esempio, desideri ottenere un elenco di tavoli da pranzo di colore marrone dal basso Url

// products / tables / diningtable? Color = brown

@PathParam viene utilizzato per abbinare una parte dellURL come parametro. Ad esempio, in un URL nel formato http://example.com/tables/{diningtable}, puoi utilizzare @PathParam (“diningtable”) per accedere alla classe di entità diningtable.

QueryParam viene utilizzato per accedere coppie chiave / valore nella stringa di query dellURL (la parte dopo?). Ad esempio nellURL http://example.com/ tables / diningtable? Color = brown, puoi usare @QueryParam (“color”) per ottenere il valore del colore che è marrone.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *