У меня есть конечная точка REST, которая в настоящее время возвращает выход JSON. Я хотел бы изменить одну и ту же конечную точку, чтобы возвращать текстовый вывод, в основном различать генерацию application/json
и text/plain
Accept
заголовки. Вот моя текущая конфигурация -Весна 3: Согласование содержимого
servlet.xml:
<bean class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<property name="defaultContentType" value="application/json" />
<property name="ignoreAcceptHeader" value="true" />
<property name="order" value="0" />
<property name="mediaTypes">
<map>
<entry key="text" value="text/plain" />
<entry key="json" value="application/json" />
</map>
</property>
<property name="defaultViews">
<list>
<ref bean="jsonView"/>
</list>
</property>
</bean>
<bean id="jsonView"
class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
<property name="contentType" value="application/json;charset=UTF-8"/>
<property name="disableCaching" value="false"/>
</bean>
REST конечной точки:
@RequestMapping(value = "/emps", method = RequestMethod.GET, produces = {"application/json"})
@ResponseStatus(HttpStatus.OK)
public @ResponseBody List<Employee> getEmpsList() throws VMException {
final List<Employee> eList = getAllEmployees();
return eList;
}
Я пробовал модифицировать производит до {"application/json", "text/plain"}
. T читает некоторые онлайн-материалы, и, поскольку я возвращаю фасоль, мне нужно использовать HttpMessageConverter
для возврата text/plain
. Я смог получить эту работу, написав два метода: один возвращающий вывод application/json
и другие возвращаемые выходные данные text/plain
. Возможно ли совместить это с реализацией единого метода или, что важно, возвращать результат на основе запрошенного формата вывода, то есть json
или text
.
Заранее благодарим за помощь.
Обновление: Прикрепление образа плагина клиента почтальона.
Изображение 1: Изображение 2:
Что на самом деле происходит, когда вы вносите изменения? Никаких изменений вообще? 405 или 406? – Vidya
Да, я получаю 406. Спасибо @ Видья. – devang
Можете ли вы показать примеры того, как выглядит ваш заголовок 'Accept' в ваших запросах? – Vidya