Feign传输对象无法接收参数
今天碰到问题,当我们使用对象作为参数传输时,无法获得其参数值。
1 2 |
@RequestMapping (value = "/oauth/client/save" ) Integer saveClient( @RequestBody ClientInfo clientInfo); |
发现接口内定义的@RequestBody注解是无法继承到实现中的,所以在impl中同样需要添加上@RequestBody注解。
Feign参数传递问题记录
对象传递
1 |
@RequestBody (required = false ) |
不支持多对象传递,至少我目前发现是这样的,如有错误或者改进的方法请提出
API层
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
@FeignClient (value = "transaction-feign" ) public interface TransactionApiService { /** * 交易流水查询 可分页 * * @param param * @param pageNum * @param pageSize * @return */ @RequestMapping (value = "/dealflow/list" , method = RequestMethod.POST) JsonResultDO dealFlowList( @RequestBody (required = false ) DealFlowDo param , @RequestParam (value = "pageNum" , defaultValue = "1" ) Integer pageNum , @RequestParam (value = "pageSize" , defaultValue = "20" ) Integer pageSize); } |
接口层
1 2 3 4 5 6 7 8 9 10 11 12 13 |
/** * 交易流水查询 可分页 * @return JsonResultDO */ @RequestMapping (value = "/dealflow/list" , method = RequestMethod.POST) public Page<DealFlowDo> dealFlowList( @RequestBody (required = false ) DealFlowDo param , @RequestParam (value = "pageNum" , defaultValue = "1" ) Integer pageNum , @RequestParam (value = "pageSize" , defaultValue = "20" ) Integer pageSize , @RequestParam (value = "userId" ) Long userId){ JsonResultDO resultDO = new JsonResultDO(); Page<DealFlowDo> page = (Page<DealFlowDo> )dealFlowService.queryDealFlowList(userId, param, pageNum, pageSize); return page; } |
单个或多个参数传递
1 |
@RequestParam / @PathVariable /*** |
1 2 3 4 5 6 7 8 |
/** * 根据商户号获取商户信息 * * @param merNo * @return */ @RequestMapping (value = "/merchant/{merNo}" , method = RequestMethod.GET) String getMerchantByMerNo( @PathVariable ( "merNo" ) String merNo); |
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
原文链接:https://blog.csdn.net/qq_30062181/article/details/87980963
查看更多关于基于Feign传输对象无法接收参数的问题的详细内容...