복붙노트

[SPRING] org.springframework.web.client.RestClientException : 응답을 추출 할 수 없습니다 :

SPRING

org.springframework.web.client.RestClientException : 응답을 추출 할 수 없습니다 :

나는 서버에서 json을 소비하는 안심 API를 만들고있다. 그러나 나는 foll 예외를 얻고있다 :

코드 스 니펫 :

List<HttpMessageConverter<?>> msgConverters = restTemplate.getMessageConverters();
msgConverters.add(new MappingJacksonHttpMessageConverter());
restTemplate.setMessageConverters(msgConverters);
DummyDTO[] dummy= restTemplate.getForObject(URI, DummyDTO[].class);

컨트롤러 메소드 코드 :

public UserDTO[] getUserList(){
             List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>();
           acceptableMediaTypes.add(MediaType.APPLICATION_JSON);

        // Set the Accept and Content type header
            HttpHeaders headers = new HttpHeaders();
           headers.setContentType(MediaType.APPLICATION_JSON);
            headers.setAccept(acceptableMediaTypes);
            HttpEntity<?> entity = new HttpEntity<Object>(headers);

            // Add the Jackson message converter
            List<HttpMessageConverter<?>> msgConverters = restTemplate.getMessageConverters();
            msgConverters.add(new MappingJacksonHttpMessageConverter());
            restTemplate.setMessageConverters(msgConverters);

            // Make the HTTP GET request, marshalling the response from JSON to an array of Users
            ResponseEntity<UserDTO[]> responseEntity  =   restTemplate.exchange("http://server.com",HttpMethod.GET, entity, UserDTO[].class);
            return responseEntity.getBody();
        }

내가 어디로 잘못 가고 있는지 말해줘.

해결법

  1. ==============================

    1.요청에 대한 콘텐츠 유형을 변경했지만 "application / json"이 응답 헤더에 있어야하며 여전히 동일한 예외가 있다는 사실은 사용자가 응답에 잘못된 텍스트 유형 "text / json"을 가지고 있음을 알립니다. HTTP에는 그러한 미디어 유형이 없습니다. restTemplate.exchange ( "http://server.com", HttpMethod.GET, entity, UserDTO []. class)의 구현을 살펴보십시오. 거기에 문제가 있어야합니다.

    요청에 대한 콘텐츠 유형을 변경했지만 "application / json"이 응답 헤더에 있어야하며 여전히 동일한 예외가 있다는 사실은 사용자가 응답에 잘못된 텍스트 유형 "text / json"을 가지고 있음을 알립니다. HTTP에는 그러한 미디어 유형이 없습니다. restTemplate.exchange ( "http://server.com", HttpMethod.GET, entity, UserDTO []. class)의 구현을 살펴보십시오. 거기에 문제가 있어야합니다.

  2. from https://stackoverflow.com/questions/28815182/org-springframework-web-client-restclientexception-could-not-extract-response by cc-by-sa and MIT license