Использование jersey jersey.java.net Как установить JSON в качестве сериализации по умолчанию вместо XML, если в URI нет заголовка accept или .xml?
Как установить значение по умолчанию для json вместо xml в джерси?
Ответ 1
Вы можете присвоить индекс качества каждому типу мультимедиа в аннотации @Produces. Вы можете сделать следующее, чтобы Джерси предпочитал JSON, если разрешены как XML, так и JSON:
@Produces({"application/json;qs=1", "application/xml;qs=.5"})
Ответ 2
Вы должны иметь возможность задать аннотацию @Produces
для указания формата возврата следующим образом:
@Produces( { "application/json" })
Почему нет заголовка accepts?
Ответ 3
Вы можете указать предпочтение генерации, указав типы медиа в вашем порядке предпочтений в аннотации @Produces.
@Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
В приведенном выше коде, поскольку на первом месте появляется "application/json", если в запросе не указан заголовок accept, по умолчанию Джерси будет генерировать ответ JSON.
Использование qs (как было предложено Мартином) делает предпочтение более явным, но его немного сложнее понять.