网站首页 > 博客文章 正文
Spring Cloud实战 | 第五篇:Spring Cloud整合OpenFeign实现微服务之间的调用
1、新增ljf-admin模块: 根据ljf-auth子模块复制
2、新增ljf-admin-api模块,添加依赖
org.springframework.cloud
spring-cloud-starter-openfeign
io.github.openfeign
feign-okhttp
com.ljf.common
ljf-common-base
1.0-SNAPSHOT
3、接口FeignClient代码
@FeignClient(value = "ljf-admin")
public interface UserAdminFeign {
@GetMapping("/admin/user/list")
Result getUserListByPage(@RequestParam("page") Integer page, @RequestParam("limit") Integer limit, @RequestParam("username") String username);
@GetMapping("/admin/user/getUserByUsername")
Result getUserByUsername(@RequestParam("username") String username);
}
4、ljf-auth引入ljf-admin-api
com.ljf.admin
ljf-admin-api
1.0.0
5、测试调用feign接口
@RestController
@RequestMapping("/oauth")
public class UserController {
@Autowired
private UserAdminFeign userAdminFeign;
@GetMapping("/getUserByUsername")
public Result getUserByUsername(String username){
return userAdminFeign.getUserByUsername(username);
}
}
6、开启feign自动配置
@EnableDiscoveryClient
@SpringBootApplication
@EnableFeignClients(basePackages = "com.ljf.*")
public class AuthApplication {
public static void main(String[] args) {
SpringApplication.run(AuthApplication.class);
}
}
7、添加配置启用 OkHttp作为底层的client
feign:
okhttp:
enabled: true
8、 用nacos作为注册中心,碰到java.net.UnknownHostException: ljf-adminr的错误,意思就是无法解析的主机.
需要添加依赖
org.springframework.cloud
spring-cloud-loadbalancer
如果用的是RestTemplate ,需要在bean上面配置
@LoadBalanced
@Bean
RestTemplate getRestTemplate(){
return new RestTemplate();
}
9、测试访问
猜你喜欢
- 2025-04-01 Ribbon(ribbon可数吗)
- 2025-04-01 记一次Java语言Spring框架对接飞书原生审批流方案
- 2025-04-01 各个微服务之间,有哪些调用方式?
- 2025-04-01 2025年SpringBoot调用第三方接口深度解析:程序员实战案例与避坑
- 2025-04-01 深度解析Spring Cloud Ribbon的实现源码及原理
- 2025-04-01 SpringBoot使用ElasticSearch做文档对象的持久化存储?
- 2025-04-01 详细介绍一下Spring Boot中如何使用Spring Cloud LoadBalancer?
- 2025-04-01 SpringBoot2调用第三方接口时,考虑异常处理、安全性和超时重试
- 2025-04-01 Spring Cloud Kubernetes集成K8S,让你更快速的结合云原生
- 2025-04-01 速看!DeepSeek携手Kimi,解锁图文报表智能生成黑科技
你 发表评论:
欢迎- 374℃手把手教程「JavaWeb」优雅的SpringMvc+Mybatis整合之路
- 369℃用AI Agent治理微服务的复杂性问题|QCon
- 360℃初次使用IntelliJ IDEA新建Maven项目
- 353℃Maven技术方案最全手册(mavena)
- 351℃安利Touch Bar 专属应用,让闲置的Touch Bar活跃起来!
- 348℃InfoQ 2024 年趋势报告:架构篇(infoq+2024+年趋势报告:架构篇分析)
- 346℃IntelliJ IDEA 2018版本和2022版本创建 Maven 项目对比
- 344℃从头搭建 IntelliJ IDEA 环境(intellij idea建包)
- 最近发表
- 标签列表
-
- powershellfor (55)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- vue数组concat (56)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)