3
私はJSONを取得し、オブジェクトクラスにマップするためにサーバーに接続するために、バネアンドロイド使用:春RestTemplateなしのContent-Type
瓶:
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
を気にしないのですか?
この問題は204の内容とは関係ありません。彼は、サーバはレスポンスボディを返すが、 'Content-Type'ヘッダは返さないと言う。 –