Vad är skillnaden mellan QueryParam och pathParam i webservices?


Bästa svaret

Hej!

Låt oss diskutera

QueryParam: – I vilsam tjänst är allt baserat på Http-protokollet.

Så när vi vill skicka data kan vi skicka dessa data med hjälp av frågan param tillfoga till webbadressen.

Exempel: –

http://localhost:8081/SearchApp/book?name=java Här är QueryParam namn. och dess värde är java.

Så här är QueryParams valfria. Det är inte obligatoriskt att skicka frågeparametern.

så om du inte lägger till QueryParam får du inte 404-fel. Du kanske får något nullPointer-undantag eftersom värdet blir null.

@GET

@Path("/book")

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

}

PathParam: -Så om du vill skicka data som obligatoriskt kan du lägga till värdet som ett segment direkt till webbadressen. Om du inte lägger till sökvägen parametern får du 404 fel.

Exempel: – http://localhost:8081/SearchApp/book/java (så här läggs värdet java till som url-segment)

I tjänst

Du kan hämta så här: –

@GET

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

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

}

Svar

I ett gemensamt REST-schema representerar sökvägsdelen av webbadressen enhetsklasshierarki (/ Tabeller / Dining Å andra sidan kan frågeparametrar reserveras för attributen för att lokalisera förekomsten av klassen för att få mer specifika resultat. Till exempel vill du få en lista över matbord med bruna färger nedan Url

// produkter / bord / matbord? Color = brown

@PathParam används för att matcha en del av webbadressen som parameter. Till exempel i en url av formuläret http://example.com/tables/{diningtable} kan du använda @PathParam (”matbord”) för att komma åt matbordets entitetsklass.

QueryParam används för att komma åt nyckel / värde-par i frågesträngen i URL: en (delen efter?). Till exempel i url http://example.com/ tabeller / matbord? Färg = brun, du kan använda @QueryParam (”färg”) för att få värdet på färgen som är brun.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *