У меня есть весенний веб-сервис REST, и в моих контроллерах я использую MappingJacksonHttpMessageConverter
для преобразования возвращаемых моделей в JSON. Но когда я проверяю это с firebug
, появляется Content-Type=application/json;charset=UTF-8
.
Также я пытаюсь проанализировать этот результат из Android-клиента с помощью весеннего шаблона Android, но я продолжаю получать:
Не удалось извлечь ответ: нет
Подходящий HttpMessageConverter найден
для типа ответа
[xxx.SamplePageActivity $ Result] и
Тип содержимого
Применение / JSON; кодировка = UTF-8]
Это может быть тот случай, когда MappingJacksonHttpMessageConverter на стороне клиента Android ожидает точно тип application/json
Поэтому мой вопрос заключается в том, как изменить возвращаемый Content-Type Spring MappingJacksonHttpMessageConverter с application/json;charset=UTF-8
на application/json
.
Вот мой конфигрэнвер преобразователя. Это может быть полезно:
<beans:bean
class="org.springframework.web.servlet.view.ContentNegotiatingViewResolver">
<beans:property name="mediaTypes">
<beans:map>
<beans:entry key="html" value="text/html" />
<beans:entry key="json" value="application/json" />
</beans:map>
</beans:property>
<beans:property name="viewResolvers">
<beans:list>
<beans:bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value="${dispatcher.suffix}" />
</beans:bean>
</beans:list>
</beans:property>
<beans:property name="defaultViews">
<beans:list>
<beans:bean
class="org.springframework.web.servlet.view.json.MappingJacksonJsonView" />
</beans:list>
</beans:property>
</beans:bean>
<beans:bean id="messageAdapter"
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<beans:property name="messageConverters">
<beans:list>
<!-- Support JSON -->
<beans:bean
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />
</beans:list>
</beans:property>
</beans:bean>