Существует ли определенный / иерархический порядок объявления констант перечисления MediaType в аннотации @Produces на уровне класса? - PullRequest
0 голосов
/ 30 января 2019

Я объявляю значения перечисления MediaType для аннотации @Produces на уровне класса, используя клиент Jersey.

В классе есть 5 методов, из которых 2 выдают PLAIN_TEXT в виде o / p, а другие 3 выдают APPLICATION_XML.

Я объявил класс следующим образом:

@Path(value = "/resource")
@Consumes(value = MediaType.APPLICATION_JSON)
@Produces(value = {MediaType.APPLICATION_JSON,MediaType.TEXT_PLAIN})
public class restresource {

--------
--------

}

Когда я это делаю, я получаю ответы JSON, но когда мне нужно получить ответы в виде простого текста, я получаю "Unexpected 'S'",Я тестирую API с помощью почтальона.

Когда я переворачиваю значения аннотации @Produces с @Produces(value = {MediaType.APPLICATION_JSON,MediaType.TEXT_PLAIN}) на @Produces(value = {MediaType.TEXT_PLAIN,MediaType.APPLICATION_JSON}), тогда он работает правильно, производя как простой текст, так и вывод json для соответствующих методов.

Итак, я хочу знать, существует ли какой-либо определенный порядок иерархии, в котором нам нужно объявить эти значения в аннотации @Produces на уровне класса.

...