query pathparam parameter example rest jersey jax-rs

rest - pathparam - queryparam jpa



Cuál es la diferencia entre @PathParam y @QueryParam (2)

Junto con la aclaración anterior proporcionada por @Ruben, quiero agregar que también puede referir el equivalente de la misma en la implementación de Spring REST Full.

Especificación JAX-RS @PathParam: vincula el valor de un parámetro de plantilla de URI o un segmento de ruta que contiene el parámetro de plantilla a un parámetro de método de recurso, campo de clase de recurso o propiedad de bean de clase de recurso.

@Path("/users/{username}") public class UserResource { @GET @Produces("text/xml") public String getUser(@PathParam("username") String userName) { ... } }

@QueryParam: vincula el (los) valor (es) de un parámetro de consulta HTTP a un parámetro de método de recurso, campo de clase de recurso o propiedad de bean de clase de recurso.

URI: users / query? From = 100

@Path("/users") public class UserService { @GET @Path("/query") public Response getUsers( @QueryParam("from") int from){ }}

Para lograr el mismo uso de Spring, puede usar

@PathVariable (Spring) == @PathParam (Jersey, JAX-RS),

@RequestParam (Spring) == @QueryParam (Jersey, JAX-RS)

Soy novato en camiseta RESTful. Me gustaría preguntar ¿cuál es la diferencia entre @PathParam y @QueryParam en jersey?


Los parámetros de consulta se agregan a la url después de ? marque, mientras que un parámetro de ruta es parte de la URL regular.

En la URL a continuación, tom podría ser el valor de un parámetro de ruta y hay un parámetro de consulta con el id nombre y el valor 1 :

http://mydomain.com/tom?id=1