Care este diferența dintre QueryParam și pathParam în Webservices?


Cel mai bun răspuns

Bună ziua!

Să discutăm

QueryParam: – În serviciul Restful totul se bazează pe protocolul Http.

Deci, ori de câte ori dorim să trimitem niște date, putem trimite aceste date folosind interogarea parametrului care se adaugă la adresa URL.

Exemplu: –

http://localhost:8081/SearchApp/book?name=java Aici QueryParam este numele. și valoarea este java.

Deci aici QueryParams sunt opționale, nu este obligatoriu să trimiteți parametrul de interogare.

deci dacă nu adăugați QueryParam nu veți primi o eroare 404. Poate că veți obține o excepție nullPointer, deoarece valoarea va fi nulă.

@GET

@Path("/book")

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

}

PathParam: -Deci, dacă doriți să trimiteți datele ca fiind obligatorii, puteți adăuga valoarea ca segment direct la adresa URL. Dacă nu adăugați parametrul de cale, veți primi o eroare 404.

Exemplu: – http://localhost:8081/SearchApp/book/java (deci aici direct valoarea java este adăugată ca segment de adresă URL)

În service

Puteți prelua astfel: –

@GET

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

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

}

Răspuns

Într-o schemă REST comună, porțiunea cale a adresei URL reprezintă ierarhia clasei de entități (/ Tables / Dining Pe de altă parte, parametrii de interogare ar putea fi rezervați atributelor pentru a localiza instanța clasei pentru a obține rezultate mai specifice. De exemplu, ați dori să obțineți o listă de mese de mese de culoare maro de sub adresa URL

// products / tables / diningtable? Color = brown

@PathParam este folosit pentru a se potrivi cu o parte a URL-ului ca parametru. De exemplu, într-o adresă URL sub forma http://example.com/tables/{diningtable}, puteți utiliza @PathParam („diningtable”) pentru a accesa clasa de entitate diningtable.

QueryParam este utilizat pentru a accesa perechi cheie / valoare în șirul de interogare al adresei URL (partea de după?). De exemplu, în adresa URL http://example.com/ mese / masă? Culoare = maro, puteți utiliza @QueryParam („culoare”) pentru a obține valoarea culorii care este maro.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *