Джерси веб-сервисов нескольких форматов - PullRequest
2 голосов
/ 22 октября 2010

В следующем методе:

@GET

@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML, MediaType.TEXT_PLAIN})

@Path("{id}")

public String getMessage(@PathParam("username") String username,

    @PathParam("id") int id,
    @QueryParam("format") String format) {

 return "test";
}

как вернуть данные в определенном формате, определенном параметром запроса формата.

1 Ответ

1 голос
/ 22 октября 2010

Я нашел это предлагаемое решение :

Джерси поддерживает подключение на основе URI с использованием суффикса в конце пути.

Вы можете объявить вваш web.xml отображает суффикс на тип носителя:
https://jersey.dev.java.net/nonav/apidocs/latest/jersey/com/sun/jersey/api/core/ResourceConfig.html#PROPERTY_MEDIA_TYPE_MAPPINGS

, если вы хотите сделать то же самое с помощью параметра запроса, вы можете написать
фильтр запроса Джерси, который выполняет аналогичные действия сфильтр суффикса:

http://fisheye4.atlassian.com/browse/jersey/trunk/jersey/jersey-server/src/main/java/com/sun/jersey/api/container/filter/UriConnegFilter.java?r=HEAD

, который изменяет заголовок подтверждения на основе значения суффикса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...