Wat is het verschil tussen QueryParam en pathParam in Webservices?


Beste antwoord

Hallo!

Laten we bespreken

QueryParam: – In Restful-service is alles gebaseerd op het Http-protocol.

Dus wanneer we gegevens willen verzenden, kunnen we die gegevens verzenden met behulp van een queryparameter die aan de url is toegevoegd.

Voorbeeld: –

http://localhost:8081/SearchApp/book?name=java Hier is QueryParam de naam. en de waarde ervan is java.

Dus hier zijn QueryParams optioneel, het is niet verplicht om de queryparameter te verzenden.

dus als je de QueryParam niet toevoegt, krijg je geen 404-fout. Mogelijk krijgt u een nullPointer-uitzondering omdat de waarde null is.

@GET

@Path("/book")

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

}

PathParam: -Dus als u de gegevens als verplicht wilt verzenden, kunt u de waarde als een segment rechtstreeks aan de url toevoegen. Als u de padparameter niet toevoegt, krijgt u een 404-foutmelding.

Voorbeeld: – http://localhost:8081/SearchApp/book/java (dus hier wordt direct de waarde java toegevoegd als url-segment)

In Service

U kunt als volgt opvragen: –

@GET

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

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

}

Antwoord

In een algemeen REST-schema vertegenwoordigt het padgedeelte van de URL de entiteitsklassehiërarchie (/ Tables / Dining Aan de andere kant kunnen queryparameters worden gereserveerd voor de attributen om het exemplaar van de klasse te lokaliseren om meer specifieke resultaten te krijgen. U wilt bijvoorbeeld een lijst met bruine eettafels krijgen van onder de URL

// products / tables / diningtable? Color = brown

@PathParam wordt gebruikt om een ​​onderdeel te matchen van de URL als parameter. Bijvoorbeeld in een url van de vorm http://example.com/tables/{diningtable}, kunt u @PathParam (“diningtable”) gebruiken om toegang te krijgen tot de entiteitsklasse van de diningtable.

QueryParam wordt gebruikt om toegang te krijgen tot sleutel / waarde-paren in de queryreeks van de URL (het deel na de?). Bijvoorbeeld in de url http://example.com/ tables / diningtable? Kleur = bruin, u kunt @QueryParam (“kleur”) gebruiken om de waarde van kleur te krijgen die bruin is.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *