SpringQueryMap -SpringCloud feign get method 接受自定义对象参数

2023-11-06

 

 

feign中和controller中不一样的地方
controller中可以get方法使用对象参数无需任何注解,可默认绑定到对象!

 

示例代码如下:

    @GetMapping(value =ClueClient.LIST_OPERATIONS)
    public CrmResult<List<RysClueOperateBO>>  getOperateLists(
            @NotNull(message = "clueId必传") @PathVariable(name = "clueId") Long clueId,
             RysClueOperateListQTO rysClueOperateListQTO) {
        log.info("clueId:{},rysClueOperateListQTO:{}",clueId,JSON.toJSON(rysClueOperateListQTO));

}
public interface ClueClient {

    String LIST_OPERATIONS  = "/clues/{clueId}/operations";

    @GetMapping(LIST_OPERATIONS)
    CrmResult<List<RysClueOperateBO>>  getOperateLists(@NotNull(message = "clueId")
                               @PathVariable(name = "clueId") Long clueId,
                                                        RysClueOperateListQTO rysClueOperateListQTO);

}

  1.  spring mvc controller mapping 能自动装配参数到RysClueOperateQTO中。访问服务这个接口,能正常打印请求的参数。
  2.  但消费者通过feignclient 调用服务。服务不能正常打印参数。RysClueOperateQTO是空对象。
  3. 引入@SpringQueryMap注解解决问题。https://cloud.spring.io/spring-cloud-openfeign/reference/html/#feign-querymap-support

 

The OpenFeign @QueryMap annotation provides support for POJOs to be used as GET parameter maps. Unfortunately, the default OpenFeign QueryMap annotation is incompatible with Spring because it lacks a value property.

Spring Cloud OpenFeign provides an equivalent @SpringQueryMap annotation, which is used to annotate a POJO or Map parameter as a query parameter map.

  

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringQueryMap -SpringCloud feign get method 接受自定义对象参数 的相关文章

  • ABA问题

    这篇文章 http oceanbase org cn p 82 的第6小节讲述了Hazard Version的实现原理 它的设计思想最早由OB团队的席华锋提出 本文不再赘述 本文主要分享Hazard Version的实现要点 以及使用它实现
  • 【Hashmap】底层原理详解(JAVA 18)

    让我们在IDEA中打开HashMap源码 开始往下看 HashMap 继承自AbstractMap 实现了Map接口 HashMap类中定义了很多的默认值 比如默认初始容量 最大容量 加载因子等 HashMap底层基于数组 链表 红黑树 H
  • 【C++拷贝构造函数、深拷贝和浅拷贝】

    C 拷贝构造函数 深拷贝和浅拷贝的介绍与应用 1 引言 在C 中 拷贝构造函数和拷贝操作是用于创建对象的副本的重要概念 拷贝构造函数用于在创建新对象时初始化其值 而拷贝操作用于将一个对象的值复制到另一个对象 深拷贝和浅拷贝是两种不同的拷贝方
  • 针对Anaconda-navigator和spyder打不开的问题

    胡乱安装pyqt和qtpy等会导致qt的依赖混乱 以致于ananconda navigator和spyder会有打不开的情况发生 解决的办法有 1 常规套路 参考 https www cnblogs com zlslch p 8066662
  • EyygDlHuwc

    test
  • oracle 联机文档下载

    http www oracle com technetwork indexes downloads index html database setup2
  • dll破解

    1 安装Reflector 并用打开需要破解的Dll 分析并找到 需要调整的程序段 2 采用ildasm exe 将 dll 编译为 IL文件 3 采用UltraEdit NotePad 打开IL文件 找到对应的IL 代码 并将其修改 4
  • Spring前后端传递参数的几种方法(转)

    Spring前后端传递参数的几种方法 转 原文链接 一 准备工作 1 建立HelloController类 2 在webapp下建一个hello html文件 hello html文件中写一个表单 二 传值方法 1 使用servlet 通过
  • MongoDB:常用命令

    1 查询指定字段 db matrixSignals find id 607d9de3d95bfe9620234f2f 2 清空 db myCollection remove
  • Caused by: com...MySQLNonTransientConnectionException: Public Key Retrieval is not allowed 的解决办法

    问题概述 关于这个是在新开子工程中遇到的 本工程使用的Mysql 8 x的 拉取项目启动时遇见问题 com mysql jdbc exceptions jdbc4 MySQLNonTransientConnectionException P
  • MEMS麦克风已成消费市场的主流产品选择

    ECM和MEMS麦克风的技术差异 随着麦克风应用的增加 对麦克风的灵敏度和体积的要求也越来越高 目前用来构建麦克风的两种最常见的技术是MEMS和驻极体电容 以下将先介绍MEMS和驻极体电容麦克风 ECM 的基础知识 比较技术之间的差异 并概
  • 图像变换与平面坐标系的关系

    转载自 1 http blog csdn net tangyongkang 2 https zhuanlan zhihu com p 74597564 坐标旋转变换公式 围绕原点 如图 在二维坐标上 有一点 直线 的长度为r 直线 和 轴的
  • 如何把GITLAB设置为简体中文

    如何把GITLAB设置为简体中文 直接步入正题 如图所示 登录git首页是这样 咱们需要点击个人头像下的preference 将跳转网页拉取到最下面 会有language一栏 将English改为简体中文 然后保存设置即可
  • 华为OD机试真题- 最多提取子串数目【2023Q1】【JAVA、Python、C++】

    题目描述 给定由 a z 26个英文小写字母组成的字符串A和B 其中A中可能存在重复字母 B中不会存在重复字母 现从字符串A中按规则挑选一些字母 可以组成字符串B 挑选规则如下 1 同一个位置的字母只能被挑选一次 2 被挑选字母的相对先后顺
  • 获取标签内部全部文本的几种方式

    运用scrapy框架爬取所需要的内容 我在百度贴吧中找了一篇小说 我来只爬取楼主的文本信息 下面为初始代码 import scrapy import re class XiaoshuoSpider scrapy Spider name xi
  • 数据结构,计算二叉树结点数 C语言实现

    树的存储结构 typedef struct BiTNode char data struct BiTNode lchild rchild BiTNode BiTree 代码实现 int GetNodeNumber BiTree T int
  • linux中的strings命令

    一 介绍 strings命令在对象文件或二进制文件中查找可打印的字符串 字符串可打印字符的任意序列 以换行符或空字符结束 strings命令对识别随机对象文件很有用 常用参数 a 扫描整个文件而不是只扫描目标文件初始化和装载段 f 在显示字
  • idea导入本地jar编译提示找不到jar报包问题(gradle)

    问题描述 使用springboot项目 gradle依赖管理 在进行本地项目测试时 由于需要导入本地jar进行运行测试 在idea项目依赖中以引入此jar 编译运行时提示找不到符号 此时代码不提示报错 尝试直接在gradle中引入本地依赖的
  • 补码计算在计算机上的优点和缺点,相对于原码和反码,补码表示法有什么优点和缺点...

    2016 08 13 回答 原码表示法是机器数的一种简单的表示法 其符号位用0表示正号 用 表示负号 数值一般用二进制形式表示 机器数的反码可由原码得到 如果机器数是正数 则该机器数的反码与原码一样 如果机器数是负数 则该机器数的反码是对它
  • NLP实战

    为了预测电影评分 我们收集了豆瓣电影网站上2 8万名用户对5万多部电影的280万条评论 真实目的 其实是为了让大家能够通过这次的教程 更加了解自然语言处理 所以 使用电影评论来预测电影评分 到底需要分几步 项目简介 本项目只使用电影评论来预

随机推荐