SpringCloud怎么利用Feign访问外部http请求(feign,http,springcloud,开发技术)

时间:2024-05-04 07:34:59 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    SpringCloud%E6%80%8E%E4%B9%88%E5%88%A9%E7%94%A8Feign%E8%AE%BF%E9%97%AE%E5%A4%96%E9%83%A8http%E8%AF%B7%E6%B1%82

大家好,目前接手了一个项目,具体的逻辑并不复杂,主要是一个"中间商"角色, 比如客户端通过我访问高德地图API,就不需要带秘钥,直接带高德API所需的入参和url后缀,就可以访问。

目前遇到这样一个问题,项目架构师要求所有的项目自己写的htttpClintUtils或者其他工具,需要替换到feign的形式来完成调用,但是,目前这个项目访问外部的http接口很多,比如,提供的高德服务就有10多种,一共有大几十类型,这样的话,如果按照以前的方式,一个接口指定一个高德子服务,那岂不是要累死 = =!

然后如果我除了高德服务还有其他外部服务,并且其他外部服务下的子接口,不一定就两个,那这样写的话,要头大死,并且这样的写法,在服务的内部,不能做秘钥和权限的动态配置,只能在url上做指定,比较笨拙,所以就需要一种可以灵活访问外部httpClient的Feign接口,只需要我指定一个url,指定下提交的post数据,就可以得到返回结果,岂不是美滋滋?

前两个是feign和服务降级用到的包,后两个是用Apache Http替换原生的feign-http-client用来提供连接池等功能。

设置了个降级超时时间,还有启动了feign访问外部httpClient配置和服务降级配置。

@EnableFeignClients @EnableHystrix

代码部分:

调用部分,这里我在我的BaseController构造注解,其他服务Controller继承,提供调用能力:

这里只列举了Post的,Get方式,就不用了携带map参数了。

然后在你的Controller层增加降级@HystrixCommand注解,并指定降级方法:

在send方法里可以自行进行拼接url,而Map就是传递给第三方服务的数据。

springboot 4.0.0

@RequestParam 参数注解

produces = MediaType.APPLICATION_JSON_UTF8_VALUE 返回json参数

本文:SpringCloud怎么利用Feign访问外部http请求的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:javascript如何判断是否是中文下一篇:

5 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18