Hvad er forskellen mellem QueryParam og pathParam i webservices?


Bedste svar

Hej!

Lad os diskutere

QueryParam: – I afslappet service er alt baseret på Http-protokol.

Så når vi vil sende nogle data, kan vi sende disse data ved hjælp af forespørgselsparametre, der føjes til url.

Eksempel: –

http://localhost:8081/SearchApp/book?name=java Her er QueryParam navn. og dens værdi er java.

Så her er QueryParams valgfri. Det er ikke obligatorisk at sende forespørgselens parametre.

så hvis du ikke tilføjer QueryParam, får du ikke 404-fejl. Måske får du nogle nullPointer-undtagelser, da værdien vil være null.

@GET

@Path("/book")

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

}

PathParam: Så hvis du vil sende dataene som obligatorisk, kan du tilføje værdien som et segment direkte til url. Hvis du ikke tilføjer stien param, får du 404 fejl.

Eksempel: – http://localhost:8081/SearchApp/book/java (så her tilføjes værdien java som url-segment)

I service

Du kan hente sådan: –

@GET

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

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

}

Svar

I et fælles REST-skema repræsenterer sti-delen af ​​URL-enheden klassehierarki (/ Tables / Dining På den anden side kunne forespørgselsparametre reserveres til attributterne for at finde forekomsten af ​​klasse for at få mere specifikke resultater. For eksempel vil du gerne have en liste over spiseborde i brun farve nedenunder Url

// produkter / borde / spisebord? Color = brun

@PathParam bruges til at matche en del af URLen som parameter. For eksempel i en url med formularen http://example.com/tables/{diningtable} kan du bruge @PathParam (“spisebord”) til at få adgang til spisebordsklassen.

QueryParam bruges til at få adgang nøgle- / værdipar i URL-forespørgselsstrengen (delen efter?). For eksempel i url http://example.com/ tabeller / spisebord? Farve = brun, du kan bruge @QueryParam (“farve”) til at få værdien af ​​den farve, der er brun.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *