Jaký je rozdíl mezi QueryParam a pathParam ve Webservices?


Nejlepší odpověď

Ahoj!

Pojďme diskutovat

QueryParam: – V klidové službě je vše založeno na protokolu Http.

Takže kdykoli chceme poslat nějaká data, můžeme je odeslat pomocí parametru dotazu připojeného k adrese URL.

Příklad: –

http://localhost:8081/SearchApp/book?name=java Zde je název QueryParam. a jeho hodnota je java.

Takže zde jsou QueryParams volitelné, odesílání parametru dotazu není povinné.

takže pokud QueryParam nepřidáte, nedostanete chybu 404. Může se stát, že dostanete nějakou výjimku nullPointer, protože hodnota bude null.

@GET

@Path("/book")

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

}

PathParam: -Pokud tedy chcete odeslat data jako povinná, můžete hodnotu přidat jako segment přímo do adresy URL. Pokud nepřidáte parametr cesty, zobrazí se chyba 404.

Příklad: – http://localhost:8081/SearchApp/book/java (tedy přímo zde je hodnota java připojena jako segment adresy URL)

Ve službě

Můžete je načíst takto: –

@GET

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

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

}

Odpověď

V běžném schématu REST představuje část cesty adresy URL hierarchii tříd entit (/ Tables / Dining Na druhou stranu by mohly být parametry vyhrazeny pro atributy k vyhledání instance třídy pro získání konkrétnějších výsledků. Například byste chtěli získat seznam jídelních stolů hnědé barvy z níže Url

// produkty / stoly / jídelní stůl? Color = brown

@PathParam se používá k přiřazení části URL jako parametr. Například v adrese URL ve tvaru http://example.com/tables/{diningtable} můžete použít @PathParam („diningtable“) pro přístup ke třídě entity jídelního stolu.

QueryParam se používá pro přístup páry klíč / hodnota v řetězci dotazu adresy URL (část za?). Například v url http://example.com/ tabulkách / jídelním stole? Color = brown, můžete použít @QueryParam („color“) pro získání hodnoty barvy, která je hnědá.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *