Feign常见的坑总结

本文总结了使用Feign进行服务间调用时遇到的常见问题,包括返回参数为Map时的类型转换异常和传递参数时的错误。在处理返回Map时,建议将Map类型改为实体类或调整返回值类型。对于参数传递,Feign要求明确指定value值,并通过RequestMethod进行指定,不推荐使用Map方式。在遇到类型转换问题时,特别是涉及BigDecimal,建议将其封装在实体类中以确保稳定性。
摘要由CSDN通过智能技术生成

1.feign返回参数为map遇到的问题

spring cloud服务之间通过restApi相互调用的时候,如服务A调用服务B

         服务B的controller如下,返回一个Map,其中

userAllMessage.getPoints()的类型为Bigdecimal

 

 

@RequestMapping("/sec/getPoints")
public ResponseEntity< Map<String, Object>> getPoints() {
    Map<String, Object> map = new HashMap<>();
    UserAllMessage userAllMessage = userService.getUserById(RequestUtil.getUserId());
    if (userAllMessage != null) {
        map.put("state", 0);
        map.put("points", userAllMessage.getPoints());
    } else {
        map.put("state", 1);
    }
    return new ResponseEntity<>(map, HttpStatus.OK);
}

 

 

 

服务A的的Feign接收为

 

@FeignClient(name = "user-server")
@Componen
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiah锋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值