Was ist der Unterschied zwischen QueryParam und pathParam in Webservices?


Beste Antwort

Hallo!

Lassen Sie uns

QueryParam diskutieren: – Im Restful-Dienst basiert alles auf dem HTTP-Protokoll.

Wenn wir also Daten senden möchten, können wir diese Daten mithilfe eines an die URL angehängten Abfrageparameters senden.

Beispiel: –

http://localhost:8081/SearchApp/book?name=java Hier ist QueryParam der Name. und der Wert ist Java.

Hier sind QueryParams optional. Es ist nicht obligatorisch, den Abfrageparameter zu senden.

Wenn Sie den QueryParam nicht anhängen, wird kein 404-Fehler angezeigt. Möglicherweise erhalten Sie eine nullPointer-Ausnahme, da der Wert null ist.

@GET

@Path("/book")

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

}

PathParam: – Wenn Sie die Daten als obligatorisch senden möchten, können Sie den Wert als Segment direkt an die URL anhängen. Wenn Sie den Pfadparameter nicht anhängen, wird der Fehler 404 angezeigt.

Beispiel: – http://localhost:8081/SearchApp/book/java (hier wird also direkt der Wert Java als URL-Segment angehängt)

In Service

Sie können Folgendes abrufen: –

@GET

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

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

}

Antwort

In einem allgemeinen REST-Schema repräsentiert der Pfadabschnitt der URL die Hierarchie der Entitätsklassen (/ Tables / Dining) Tabelle). Andererseits könnten Abfrageparameter für die Attribute reserviert werden, um die Instanz der Klasse zu lokalisieren und spezifischere Ergebnisse zu erhalten. Beispielsweise möchten Sie eine Liste der Esstische in brauner Farbe von unten abrufen. URL

// Produkte / Tische / Esstisch? Color = brown

@PathParam wird verwendet, um einem Teil zu entsprechen der URL als Parameter. Beispielsweise können Sie in einer URL der Form http://example.com/tables/{diningtable} mit @PathParam („essentabelle“) auf die Entitätsklasse essentabelle zugreifen.

QueryParam wird für den Zugriff verwendet Schlüssel / Wert-Paare in der Abfragezeichenfolge der URL (der Teil nach dem?). Zum Beispiel in der URL http://example.com/ Tische / Esstisch? Farbe = braun, Sie können @QueryParam („Farbe“) verwenden, um den Wert der Farbe zu erhalten, die braun ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.