Quelle est la différence entre QueryParam et pathParam dans les Webservices?


Meilleure réponse

Bonjour!

Parlons de

QueryParam: – Dans Restful service, tout est basé sur le protocole Http.

Donc, chaque fois que nous voulons envoyer des données, nous pouvons envoyer ces données en utilisant le paramètre de requête ajouté à lurl.

Exemple: –

http://localhost:8081/SearchApp/book?name=java Ici QueryParam est le nom. et sa valeur est java.

Ici, les QueryParams sont facultatifs, il nest pas obligatoire denvoyer le paramètre de requête.

donc si vous najoutez pas le QueryParam, vous nobtiendrez pas lerreur 404. Vous obtiendrez peut-être une exception nullPointer car la valeur sera nulle.

@GET

@Path("/book")

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

}

PathParam: -Ainsi, si vous souhaitez envoyer les données comme obligatoires, vous pouvez ajouter la valeur sous forme de segment directement à lurl. Si vous najoutez pas le paramètre de chemin, vous obtiendrez une erreur 404.

Exemple: – http://localhost:8081/SearchApp/book/java (donc ici directement la valeur java est ajoutée en tant que segment durl)

En service

Vous pouvez récupérer comme ceci: –

@GET

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

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

}

Réponse

Dans un schéma REST courant, la partie chemin de lURL représente la hiérarchie des classes dentités (/ Tables / Dining Dautre part, les paramètres de requête peuvent être réservés aux attributs pour localiser linstance de classe pour obtenir des résultats plus spécifiques. Par exemple, vous souhaitez obtenir la liste des tables de salle à manger de couleur marron ci-dessous Url

// products / tables / Diningtable? Color = brown

@PathParam est utilisé pour faire correspondre une pièce de lURL en tant que paramètre. Par exemple, dans une URL de la forme http://example.com/tables/{diningtable}, vous pouvez utiliser @PathParam (« Diningtable ») pour accéder à la classe dentité Diningtable.

QueryParam est utilisé pour accéder paires clé / valeur dans la chaîne de requête de lURL (la partie après le?). Par exemple dans lurl http://example.com/ tables / Diningtable? Color = brown, vous pouvez utiliser @QueryParam (« color ») pour obtenir la valeur de la couleur qui est marron.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *