OpenFeign中Get请求实体参数,以及实体字段序列化别名

        使用openfeign调用外部接口时候会出现这么一个问题,如果外部接口为Get请求,之前只能使用@RequestParam这样将一个个参数写入,这样无形中增加了不少工作量,且显得很麻烦。

        后面版本中出了@SpringQueryMap注解,终于可以把实体当做入参了,但是紧跟着又出现另一个问题,那就是,假如对方接口接收的参数是js_code这种形式,那么我们的字段只能定义为js_code,不能按规范定义为jsCode,这无疑让人头疼了,但是真的就没有解决方式吗?

        不!其实人家已经为我们想到了解决方案,通过跟踪源码,发现有这么一个自定义方法参数注解QueryMapParameterProcessor针对@SpringQueryMap注解做了增强,其中不断的深入最终发现最终在BeanQueryMapEncoder方法中有对参数做为处理。

        如上图所示,只要在对应的实体对应字段的Get方法上加上注解@Param("js_code"),那么最终就会取这个别名作为字段名。比如原先的请求是http://www.xxx.com?jsCode=AAAAAA,在加上@Param("js_code")注解后,请求会变为http://www.xxx.com?js_code=AAAAAA。

        最后!虽然这个对于很多人来说可能早就知道,但是我在网上找了许久都没有提到这点的文章,所以特意记录下。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值