android - spring RestTemplate 没有内容类型

标签 android spring jackson

我使用 spring-android 连接到服务器以获取 json 并将其映射到对象类:

jar :

jackson-core-asl-1.9.2.jar
jackson-mapper-asl-1.9.2.jar
spring-android-auth-1.0.0.M4.jar
spring-android-core-1.0.0.M4.jar
spring-android-rest-template-1.0.0.M4.jar

来源:

RestTemplate restTemplate = new RestTemplate(/* clientHttpRequestFactory */);

ClientHttpRequestFactory clientHttpRequestFactory = new SimpleClientHttpRequestFactory();
restTemplate.setRequestFactory(clientHttpRequestFactory);

MappingJacksonHttpMessageConverter httpMessageConverter = new MappingJacksonHttpMessageConverter();
List<MediaType> supportedMediaTypes = new ArrayList<MediaType>();
supportedMediaTypes.add(new MediaType("application", "json"));
httpMessageConverter.setSupportedMediaTypes(supportedMediaTypes);

List<HttpMessageConverter<?>> httpMessageConverters = restTemplate
                .getMessageConverters();
httpMessageConverters.add(httpMessageConverter);
restTemplate.setMessageConverters(httpMessageConverters);

MultiValueMap<String, Object> map = new LinkedMultiValueMap<String, Object>();
map.add("param1", "param1");
map.add("param2", "2");

T t = restTemplate.postForObject(url, map, T.class);

来自服务器的结果是一个 json 字符串,例如:

{"aaa":"111", "bbb":"222"}

结果是:

Caused by: org.springframework.web.client.RestClientException: Cannot extract response: no Content-Type found
     at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:60)
     at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:470)
     at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:425)
     at org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:303)

响应头中不能有Content-Type。如何让 RestTemplate 不关心 Content-Type

最佳答案

这看起来像是继承自 Spring 3.0.x 代码的缺陷。参见 https://jira.springsource.org/browse/SPR-7911了解详情。您可以尝试列出的解决方法之一 here

关于android - spring RestTemplate 没有内容类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8531550/

相关文章:

android - 将图像从 Android 发送到 PHP

java - 如果加载时间超过特定时间,Android Timeout webview

json - Jackson mixin 注释以包含某些属性并排除其他所有内容

java - 如何使用 Jackson 将列表内容序列化为平面 JSON 对象?

java - jackson :@JsonIdentityInfo 对象而不是 id

android - 截击 : How to set up a Cache. 条目

android - $http 请求在已签名的 apk Ionic 中不起作用

java - 如何将 JSON 字符串反序列化为放宽根值区分大小写的对象?

java - 将 Spring XML 上下文移至 Groovy

spring - 逃离| SpEL 中的(管道)