OpenFeign如何解决Get请求自动转化成POST的问题
更新时间:2024年04月30日 09:21:57 作者:梁山教父
这篇文章主要介绍了OpenFeign如何解决Get请求自动转化成POST的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
一、问题
服务提供者
/** * 获取用户ID * @param token * @return */ @GetMapping("/getUserId") public String getUserId(@RequestParam(required = false) String token){ return userService.getUserId(token); }
服务调用
@Service @FeignClient(value = "auth-service") public interface AuthClient { /** * 获取用户ID * @param token * @return */ @GetMapping("/user/getUserId") public String getUserId(@RequestParam(required = false) String token); }
会自动讲get请求转为post请求
二、原因
因为Feign默认使用的连接工具实现类,所以里面发现只要你有body体对象,就会强制的把GET请求转换成POST请求。
三、解决方法
更换Apache的HttpClient
1、加入Feign的配置项
feign: httpclient: enabled: true
2、添加依赖
<!-- httpclient5 --> <dependency> <groupId>org.apache.httpcomponents.client5</groupId> <artifactId>httpclient5</artifactId> </dependency> <!-- feign-httpclient --> <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-httpclient</artifactId> </dependency>
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
关于JAVA中stream流的基础处理(获取对象字段和对象批量处理等)
这篇文章主要介绍了关于JAVA中stream流的基础处理,包含获取对象字段、按字段排序、按字段去重、对象批量处理、指定字段转数组等内容,需要的朋友可以参考下2023-03-03SpringBoot中注解@ConfigurationProperties与@Value的区别与使用详解
本文主要介绍了SpringBoot中注解@ConfigurationProperties与@Value的区别与使用,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2021-09-09base64_encode和base64_decode的JAVA实现
Base64 编码其实是将3个8位字节转换为4个6位这4个六位字节 其实仍然是8位,只不过高两位被设置为0. 当一个字节只有6位有效时,它的取值空间为0 到 2的6次方减1 即63,也就是说被转换的Base64编码的每一个编码的取值空间为(0~63).需要的朋友可以参考下2016-04-04
最新评论