赞
踩
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就没了
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。