2

RestTemplate を使用して Spring でアプリケーションを作成しました。Rest-Template を使用して、ヘッダーが「application/json」として受け入れられる外部 Web サービスを使用しています。Rest-Template にヘッダーを追加しましたが、それでも次の例外が発生します

org.springframework.web.client.RestClientException: Could not extract response: no suitable HttpMessageConverter found for response type [class com.site.Employee] and content type [application/octet-stream]

私のコードは以下のとおりです

    private static String BASE_URI = "http://localhost:8181/test/employee"

    final HttpHeaders requestHeaders = new HttpHeaders();
    requestHeaders.setAccept(Collections.singletonList(new MediaType("application", "json")));
    requestHeaders.setContentType(new MediaType("application", "json"));
    final HttpEntity<?> requestEntity = new HttpEntity<Object>(requestHeaders);

    final RestTemplate restTemplate = new RestTemplate();

    restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter());
    restTemplate.getMessageConverters().add(new StringHttpMessageConverter());

    final ResponseEntity<Employee> responseEntity = restTemplate.exchange(BASE_URI, HttpMethod.GET, requestEntity, Employee.class);

誰かこれの解決策を教えてください

更新 1

以下のコードを試してみると、問題なく動作しています

final ResponseEntity<String> responseEntity = restTemplate.exchange(BASE_URI, HttpMethod.GET, requestEntity, String.class);
Employee employee = new ObjectMapper().readValue(responseEntity.getBody(), Employee.class);
4

1 に答える 1

3

application/octet-streamでサポートされている MIME タイプのリストに追加する必要がありますMappingJackson2HttpMessageConverter

final MappingJackson2HttpMessageConverter mappingJackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter();
mappingJackson2HttpMessageConverter.setSupportedMediaTypes(Arrays.asList(MediaType.APPLICATION_JSON, MediaType.APPLICATION_OCTET_STREAM));
restTemplate.getMessageConverters().add(mappingJackson2HttpMessageConverter);
于 2015-12-22T11:02:13.763 に答える