feign GET请求不支持对象传参的坑及解决
作者:hi_link 发布时间:2023-07-29 18:10:25
标签:feign,GET请求,对象传参
GET请求不支持对象传参
问题
@GetMapping("/getByParam")
String hello(Student student) throws Exception;
如上,feign调用报错500。
解决方法
增加@SpringQueryMap
@GetMapping("/getByParam")
String hello(@SpringQueryMap Student student) throws Exception;
feign发get请求遇到的坑
问题
@RequestMapping(value="/test",method = RquestMethod.GET)
Result getA(String id);
如上,调用该方法报错请求方式post错误,请用get。
原因分析
feign将该get方法转为了post,导致出错。
这个问题的主要的原因就是Feign默认使用的连接工具实现类,发现只要你有对应的body体对象,就会强制把GET请求转换成POST请求。
Feign源码在解析含有@FeignClient注解的接口的时候,在创建代理对象的时候,代理对象在去解析含有@RequestParam注解的参数的时候,会将该参数增强到url上,而不是作为body传递。
加上@RequestParam后问题解决
修改后代码如下。
@RequestMapping(value="/test",method = RquestMethod.GET)
Result getA(@RequestParam String id);
来源:https://blog.csdn.net/qq_28433521/article/details/116598478
0
投稿
猜你喜欢
- 右击有main方法的类===> Run as===> Run Configurations ===>双击java
- Android 微信摇一摇功能实现,最近学习传感器,就想实现摇一摇的功能,上网查了些资料,就整理下。如有错误,还请指正。开发环境Androi
- yaml语法注解配置文件两种形式application.properties和.yaml第一种语法 key=value第二种key:空格va
- WCF实例(带步骤) <xmlnamespace prefix ="o" ns ="urn:schema
- 声明:下面的实例全部在linux下尝试,window下未尝试。有兴趣者可以试一下。文章针c初学者。c语言的强符号和弱符号是c初学者经常容易犯
- 简介对于一个APP来说,肯定会有一个AppBar,这个AppBar一般包含了APP的导航信息等。虽然我们可以用一个固定的组件来做为AppBa
- 工作中有做过手机App项目,前端和android或ios程序员配合完成整个项目的开发,开发过程中与ios程序配合基本没什么问题,而andro
- 需求说明实际操作过程中,从D盘根目录下的ak.txt读取文件写入D盘根目录下的hello.txt文件内实现思路写两个方法,一个用于读取目标文
- 在使用JDBC的时候,数据库据连接是非常宝贵的资源。为了复用这些资源,可以将连接保存在一个队列中。当需要的时候可以从队列中取出未使用的连接。
- 前言本文主要是将最近工作中遇到的一个问题进行总结分享,主要介绍的是如何让WebView中H5页面全屏播放视频。关于这个问题,做一下简单分析,
- 本文实例讲述了C#实现对Json字符串处理方法,分享给大家供大家参考。具体分析如下:一般对于web应用开发人员来说对Json字符串都会很熟悉
- fopen(打开文件)相关函数 open,fclose表头文件 #include<stdio.h>定义函数 FILE * fop
- 方式一:if语句控制// 例如:Column( mainAxisAlig
- tcp客户端示例#include <errno.h> #include <sys/socket.h> #includ
- 自动登录是我们在软件开发时一个非常常见的功能,例如我们登录 QQ 邮箱:很多网站我们在登录的时候都会看到类似的选项,毕竟总让用户输入用户名密
- 示例 1 :使用搜索表单创建全屏模式我们要构建的小应用程序有一个应用程序栏,右侧有一个搜索按钮。按下此按钮时,将出现一个全屏模式对话框。它不
- 序言小编在项目中有遇到使用 flutter 实现扫码枪接入的需求。为方便使用,小编把能力封装成 package 并发布。好记性不如烂笔头,下
- [LeetCode] 9. Palindrome Number 验证回文数字Determine whether an integer is
- 今天来了一个问题:软键盘无法弹出。分析后是因为系统判断当前有外接硬键盘,就会隐藏软键盘。但实际情况并不是这么简单,该问题只有在特定条件下偶现
- JSON.toJSONString()空字段不忽略修改使用JSON.toJSONString(object)方法,返回的json中,默认会将