Я объявляю значения перечисления 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
на уровне класса.