В чем разница между @PathParam и @QueryParam


Я новичок в спокойном Джерси. Я хотел бы спросить в чем разница между @PathParam и @QueryParam в Нью-Джерси?

2 81

2 ответа:

параметры запроса добавляются в url после ? отметить, в то время как параметр path является частью обычного URL.

в URL ниже tom может быть значение параметра Path и есть один параметр запроса с именем id и значение 1:

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

наряду с приведенным выше разъяснением, предоставленным @Ruben, я хочу добавить, что вы также можете ссылаться на эквивалент того же самого в Spring RESTFull реализации.

спецификация JAX - RS @PathParam-связывает значение параметра шаблона URI или сегмента пути, содержащего параметр шаблона, с параметром метода ресурса, полем класса ресурса или свойством компонента класса ресурса.

@Path("/users/{username}")
public class UserResource {

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

@QueryParam-привязывает значения параметра HTTP-запроса к ресурсу параметр метода, поле класса ресурсов или свойство компонента класса ресурсов.

URI: пользователи / запрос?от=100

@Path("/users")
public class UserService {

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

для достижения того же с помощью пружины, вы можете использовать

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

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