org.springframework.web.client.HttpClientErrorException$UnsupportedMediaType: 415
又因为一个错误,debug了一晚上!!!!真的裂开!!!
@PostMapping("/consumer/payment/create")
public CommonResult<Payment> create( @RequestBody Payment payment) {
log.info(payment.toString());
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<Payment> httpEntity = new HttpEntity<>(payment, headers);
return restTemplate.postForObject(PAYMENT_URL + "/payment/create", httpEntity, CommonResult.class);
}
消费者进行负载均衡时,小弟们收不到参数?????
原因:
有两种说得通的解释:
1.在使用restTemplate调用时,返回值是一个实体类,可能出现JSON解析异常,导致使用’text/plain来进行
文本解析。但需要的是application/json,所以会报415异常。
2.使用restTemplate进行请求转发时,对于当前请求的方法和所请求的资源,请求中提交的实体并不是服务器中所支持的格式,因此请求被拒绝,报错415
针对解决措施,不难看出,原因为后者
上方案:
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<Payment> httpEntity = new HttpEntity<>(payment, headers);
注意别引错包
导的是spring家的包
!!!
一晚上真快,改个bug就没了