基于Feign传输对象无法接收参数的问题

 更新时间:2022年03月17日 10:25:42   作者:程冯冯  
这篇文章主要介绍了基于Feign传输对象无法接收参数的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Feign传输对象无法接收参数

今天碰到问题,当我们使用对象作为参数传输时,无法获得其参数值。

 @RequestMapping(value = "/oauth/client/save")
 Integer saveClient(@RequestBody ClientInfo clientInfo);

发现接口内定义的@RequestBody注解是无法继承到实现中的,所以在impl中同样需要添加上@RequestBody注解。

Feign参数传递问题记录

对象传递

@RequestBody(required = false)

不支持多对象传递,至少我目前发现是这样的,如有错误或者改进的方法请提出

API层

    @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);
    }

接口层

/**
 * 交易流水查询 可分页
 * @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;
}

单个或多个参数传递

@RequestParam/@PathVariable/***
   /**
     * 根据商户号获取商户信息
     *
     * @param merNo
     * @return
     */
    @RequestMapping(value = "/merchant/{merNo}", method = RequestMethod.GET)
    String getMerchantByMerNo(@PathVariable("merNo") String merNo);

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • request如何获取完整url(包括域名、端口、参数)

    request如何获取完整url(包括域名、端口、参数)

    这篇文章主要介绍了request如何获取完整url(包括域名、端口、参数)问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • spring使用xml方式整合Druid数据源连接池

    spring使用xml方式整合Druid数据源连接池

    传统的JDBC数据库连接方式,每次连接都需加载Connection到内存并验证,使用后再放回,从而重复利用数据库连接资源,这不仅降低了系统资源消耗,还避免了频繁连接导致的服务器崩溃和内存泄漏风险,数据库连接池在初始化时创建并保持最小数量的数据库连接
    2024-10-10
  • Java静态和非静态成员变量初始化过程解析

    Java静态和非静态成员变量初始化过程解析

    这篇文章主要介绍了Java静态和非静态成员变量初始化过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • IDEA自定义setter和getter格式的设置方法

    IDEA自定义setter和getter格式的设置方法

    这篇文章主要介绍了IDEA自定义setter和getter格式的设置方法,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧
    2023-12-12
  • Java实战之邮件的撰写和发送

    Java实战之邮件的撰写和发送

    这篇文章主要为大家详细介绍了通过Java代码实现邮件的撰写和发送功能,文中示例代码介绍的非常详细,具有一定的参考价值,需要的小伙伴们可以学习一下
    2021-11-11
  • SpringBoot超详细讲解多数据源集成

    SpringBoot超详细讲解多数据源集成

    今天分享下SpringBoot多数据源集成,我怕麻烦,这里我觉得我的集成也应该是最简单的,清晰明了
    2022-05-05
  • Java利用蒙特卡洛方法求解圆周率π值

    Java利用蒙特卡洛方法求解圆周率π值

    蒙特·卡罗方法(Monte Carlo method),也称统计模拟方法,是一种以概率统计理论为基础的数值计算方法。本文将利用该方法实现圆周率的计算,需要的可以参考一下
    2022-08-08
  • mybatis教程之动态sql语句_动力节点Java学院整理

    mybatis教程之动态sql语句_动力节点Java学院整理

    这篇文章主要介绍了mybatis教程之动态sql语句,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • Scala数据库连接池的简单实现

    Scala数据库连接池的简单实现

    本文主要介绍了Scala数据库连接池的简单实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • SpringMVC和Swagger整合方法

    SpringMVC和Swagger整合方法

    Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。下面通过本文给大家分享SpringMVC和Swagger整合方法,感兴趣的朋友一起看看吧
    2017-08-08

最新评论