Jaka jest różnica między QueryParam a pathParam w usługach sieciowych?


Najlepsza odpowiedź

Cześć!

Porozmawiajmy

QueryParam: – W usłudze Restful wszystko opiera się na protokole Http.

Więc ilekroć chcemy wysłać jakieś dane, możemy wysłać te dane za pomocą parametru zapytania dołączanego do adresu url.

Przykład: –

http://localhost:8081/SearchApp/book?name=java Tutaj QueryParam to nazwa. a jego wartością jest java.

Więc tutaj QueryParams są opcjonalne, wysyłanie parametrów zapytania nie jest obowiązkowe.

więc jeśli nie dodasz QueryParam, nie otrzymasz błędu 404. Być może pojawi się wyjątek nullPointer, ponieważ wartość będzie równa null.

@GET

@Path("/book")

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

}

PathParam: -Tak więc, jeśli chcesz wysłać dane jako obowiązkowe, możesz dołączyć wartość jako segment bezpośrednio do adresu URL. Jeśli nie dodasz parametru ścieżki, otrzymasz błąd 404.

Przykład: – http://localhost:8081/SearchApp/book/java (więc tutaj bezpośrednio wartość java jest dołączana jako segment adresu URL)

W usłudze

Możesz pobrać w ten sposób: –

@GET

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

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

}

Odpowiedź

W typowym schemacie REST ścieżka adresu URL reprezentuje hierarchię klas jednostek (/ Tables / Dining Z drugiej strony parametry zapytania mogą być zarezerwowane dla atrybutów w celu zlokalizowania instancji klasy i uzyskania bardziej szczegółowych wyników. Na przykład chcesz pobrać listę stołów w kolorze brązowym z poniższego adresu URL

// products / table / diningtable? Color = brown

@PathParam służy do dopasowania części adresu URL jako parametr. Na przykład w adresie URL w postaci http://example.com/tables/{diningtable} możesz użyć @PathParam („diningtable”), aby uzyskać dostęp do klasy jednostki diningtable.

QueryParam służy do uzyskiwania dostępu pary klucz / wartość w ciągu zapytania adresu URL (część po znaku?). Na przykład w adresie URL http://example.com/ tabelach / stołach? Kolor = brązowy, możesz użyć @QueryParam („color”), aby uzyskać wartość koloru, który jest brązowy.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *