避坑,415错误(手动叹号)

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就没了

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值