org.springframework.web.client.HttpClientErrorException:415 null(Spring Resttemplate)

时间:2017-11-26 17:58:05

标签: java spring spring-boot resttemplate

我尝试使用rest模板获取实体列表,但我在行中得到415错误:

ResponseEntity<List<ResponseOrderDto>> responseEntity = rest.exchange

我的实施:

RestTemplate rest = new RestTemplate();
        rest.getInterceptors().add((request, body, execution) -> {
            ClientHttpResponse response = execution.execute(request,body);
            response.getHeaders().setContentType(MediaType.APPLICATION_JSON);
            response.getHeaders().add("Bearer", contentToken);
            return response;
        });
        ResponseEntity<List<ResponseOrderDto>> responseEntity = rest.exchange(
                ORDER_SERVICE_URL + "/by-user",
                HttpMethod.GET,
                null,
                new ParameterizedTypeReference<List<ResponseOrderDto>>() {
                });

如何解决此错误?

1 个答案:

答案 0 :(得分:0)

415表示不支持的内容类型,因此未正确设置Content-type标头。

根据您的代码,我认为请求需要JSON Content-Type标头,但您在响应而不是请求上设置内容类型标头。

将你的拦截器更改为:

      rest.getInterceptors().add((request, body, execution) -> {
        request.getHeaders().setContentType(MediaType.APPLICATION_JSON);
        request.getHeaders().add("Bearer", contentToken);
        ClientHttpResponse response = execution.execute(request, body);
        return response;
      });

在合适的时间将标题设置为请求