text/plain で JSON を投げつけてくるヤツに対処する
の別解。
@Autowired
private RestTemplateBuilder builder;
...
final MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
converter.setSupportedMediaTypes(Arrays.asList(MediaType.TEXT_PLAIN));
final RestTemplate restTemplate = builder.additionalMessageConverters(converter).build();
ちなみに上記のようにコンバータを明示的に設定しない場合だと次のような例外になる :
org.springframework.web.client.HttpClientErrorException$NotAcceptable: 406 Not Acceptable
at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:89)
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:122)
at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:102)
at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63)
at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:778)
at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:736)
at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:710)
at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:463)