我尝试使用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>>() {
});
如何解决此错误?
答案 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;
});
在合适的时间将标题设置为请求