Quelle est la différence entre @ PathParam et @QueryParam
je suis newbie à RESTful jersey. Je voudrais demander quelle est la différence entre @PathParam
et @QueryParam
à jersey?
2 réponses
sont ajoutés à l'url après la marque ?
, tandis qu'un paramètre de chemin fait partie de l'URL régulière.
dans L'URL en dessous de tom
pourrait être la valeur d'un paramètre de chemin et il y a un paramètre de requête avec le nom id
et la valeur 1
:
http://mydomain.com/tom?id=1
en plus de la clarification ci-dessus fournie par @Ruben, je tiens à ajouter que vous pouvez également renvoyer équivalent de la même dans la mise en œuvre RESTFull de printemps.
Spécification JAX - RS @PathParam-lie la valeur d'un paramètre URI template ou d'un segment path contenant le paramètre template à un paramètre resource method, à un champ resource class ou à une propriété bean resource class.
@Path("/users/{username}")
public class UserResource {
@GET
@Produces("text/xml")
public String getUser(@PathParam("username") String userName) {
...
}
}
@QueryParam-lie la valeur(s) D'un HTTP paramètre de requête vers un paramètre de méthode de Ressource, un champ de classe de ressource, ou une propriété bean de classe de ressource.
URI : utilisateurs/requête?de = 100
@Path("/users")
public class UserService {
@GET
@Path("/query")
public Response getUsers(
@QueryParam("from") int from){
}}
pour obtenir le même en utilisant le ressort, vous pouvez utiliser
@PathVariable (Spring) = = @PathParam (Jersey, JAX-RS),
@RequestParam (Spring) = = @QueryParam (Jersey, JAX-RS)