SpringCloud中Feign的适配器的实现方案
发布日期:2021-05-09 03:55:28 浏览次数:21 分类:博客文章

本文共 1656 字,大约阅读时间需要 5 分钟。

前言

最近在做微服务的项目,各个系统之间需要进行调用,然后用一个适配器来实现服务之间的feign调用,使用适配器进行统一管理。

实现方案

首先我们需要将服务的名称进行单独的配置,可以方便的进行切换和扩展,我们使用bootstrap.yml来进行配置,这样引入jar包的时候,可以将配置互补到我们本身项目的application.yml中。

在我们的bootstrap.yml中进行配置。

## 配置的服务名称server-name:  # 配置在eureka中注册的服务名称  feignDemo: demo

我们这里配置了一个demo,demo是spring.application.name。我们需要调用demo项目中的接口。

然后配置feign与ribbon

feign:  hystrix:   threadpool:    default:     coreSize: 100    enabled: true    command:      default:       execution:         isolation:          thread:           timeoutInMilliseconds: 30000      circuitBreaker:       requestVolumeThreshold: 1000ribbon: ConnectTimeout: 30000 ReadTimeout: 30000

之后我们建立一个feign的接口。

@FeignClient(value = "${server-name.feignDemo}")@Componentpublic interface IDemoFeign {    @PostMapping("/demo/list")    public List
findDemoListByQueryVO( @RequestBody DemoFeignQueryVO demoFeignQueryVO);}

我们通过用$取值的方式来获取服务的名称。接口内的方法必须与服务中的方法的映射一模一样。这里需要注意的问题是参数必须要用@RequestBody或者@RequestParam来接取。

接下来建立一个controller的类。

@Componentpublic class DemoApi {	@Autowired	private IDemoFeign iDemoFeign ;        public List
findDemoListByQueryVO(DemoFeignQueryVO demoFeignQueryVO){ return iDemoFeign .findDemoListByQueryVO(demoFeignQueryVO); }}

我们在调用的使用通过controller进行调用,这样,我们以后如果接口有什么问题,可以直接改接口,不用改调用项目的代码。

最后,我们建立主启动类,在主启动类中,配置我们刚才建立的controller类,这样打成jar包调用的时候,注入一个主启动类,然后就可以调用其他的api。
主启动类如下:

@SpringBootApplication@EnableFeignClientspublic class ApiAdapter {    public static void main(String[] args) {        SpringApplication.run(ApiAdapter.class, args);    }    @Autowired    public DemoApi demoApi ;}

我们需要注意的就是需要加上注解@EnableFeignClients。

实现方案结束,将其打成jar包,引入就可使用。

上一篇:mysql中concat函数的使用相关总结
下一篇:maven将xml文件一起打包

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2025年05月03日 02时38分42秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

2025年3月全国计算等级考试(报名操作指南)从零基础到精通,收藏这篇就够了! 2023-01-24
2025年中国云计算市场四大趋势前瞻,从零基础到精通,收藏这篇就够了! 2023-01-24
.off打开方式、文件格式和使用代码(Python示例) 2023-01-24
2025年十大最佳漏洞管理工具,从零基础到精通,收藏这篇就够了! 2023-01-24
2025年网络安全五大趋势与十大威胁预测,从零基础到精通,收藏这篇就够了! 2023-01-25
2025想做黑客?先来学习 SQL 注入,零基础入门到精通,收藏这篇就够了 2023-01-25
2025春招计算机就业哪些方向最香?零基础入门到精通,收藏这篇就够了 2023-01-25
2025最全版《安全技术交底》.docx。从零基础到精通,收藏这篇就够了! 2023-01-25
2025最新大模型技术学习过程梳理,零基础入门到精通,收藏这篇就够了 2023-01-25
2025版万字长文入门大语言模型(LLM)零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新0基础怎么转行网络安全?零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新Bash Shell入门指南,零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新C++快速入门(适合小白)零基础入门到精通,收藏这篇就够了 2023-01-25
(建议收藏)五款常用优秀的Vue日历组件推荐 纯前端实现 无需额外依赖 2023-01-25
2025版最新CTF选手必藏的50个实战解题思路,零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新Java教程(非常详细)零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新Kali Linux渗透测试教程(全面详细)零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新LangChain框架快速入门,零基础入门到精通,收藏这篇就够了 2023-01-25
2025版最新Metasploit安装使用教程(非常详细)零基础入门到精通,收藏这一篇就够了 2023-01-25
2025版最新Nessus 工具介绍与使用教程,零基础入门到精通,收藏这一篇就够了 2023-01-25