大家好,目前接手了一个项目,具体的逻辑并不复杂,主要是一个”中间商”角色, 比如客户端通过我访问高德地图api,就不需要带秘钥,直接带高德api所需的入参和url后缀,就可以访问。
目前遇到这样一个问题,项目架构师要求所有的项目自己写的htttpclintutils或者其他工具,需要替换到feign的形式来完成调用,但是,目前这个项目鼎湖山访问外部的http接口很多,比如,提供的高德服务就有10多种,一共有大几十类型,这样的话,如果按照以前的方式,一个接口指定一个高德子服务,那岂不是要累死 = =!
然后如果我除了高德服务还有其他外部服务,并且其他外部服务下的子接口,不一定就两个,那这样写的话,要头大死,并且这样的写法,在服hr工作务的内卷是什么意思内部,不能做秘房子旁边有什么补充完整钥和权限的动态配置,只能在url上做指定,比较笨拙,所以就需要一种可以灵活访问外部httpclient的feign接口,只需要我指定一个url,指定下提交的post数据,就可以得到返回结果,岂不是美滋滋?
前两个是feign和服务降级用到的包,后两个是用周记 开学第一周apache http替换原生的feign-http-client用来提供连接池等功能。
设置了个降级超时时间,还有启动了feign访问外部httpclient配置和服务降级配置。
@enablefeignclients
@enablehystrix
代码部分:
调用部分,这里我在我的bacontroller构造注解,其他服务controller继承,提供调用能力:
这里只列举了post的,get方式,就不用了携带map参数了。
然后在你的controller层增加降级@hystrixcommand注解,并指定降级方法:
在nd方法里可以自行进行拼接url,而map就是传递给第三方服务的数据。
springboot 4.0.0
@requestparam 参数注解
produces = mediatype.application_json_utf8_value 返回json参数
以上为个人经验,希望能给大家一个参考,也希望大家多多支持www.887551.com。
本文发布于:2023-04-06 02:31:09,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/f6ff2b00af03cd48ba2ab9ecc4c74837.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:SpringCloud如何利用Feign访问外部http请求.doc
本文 PDF 下载地址:SpringCloud如何利用Feign访问外部http请求.pdf
留言与评论(共有 0 条评论) |