feign整合nacos

创建两个项目,服务提供者service-offer和服务消费者service-consumer

一、service-offer的pom文件

复制代码
     <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.2.5.RELEASE</version>
        </dependency>
复制代码

启动类上添加两个注解 @EnableDiscoveryClient @EnableFeignClients

yml配置

复制代码
server:
  port: 8183
spring:
  application:
    name: service-offer
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
复制代码

 

提供一个API

@RestController
public class HelloController {

    @RequestMapping("/hello")
    public String hello(){
        return "hello world";
    }
}

服务提供者完成

二、创建服务消费者

复制代码
       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.2.5.RELEASE</version>
            <!--    排除nacos中的ribbon依赖,否则会报错        -->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-loadbalancer</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
复制代码

启动类:添加注解

@EnableDiscoveryClient
@EnableFeignClients

yml配置

复制代码
spring:
  application:
    name: service-consumer
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
server:
  port: 8184
复制代码

创建feign接口

@FeignClient("service-offer")//填写配置的server name
public interface ProvideClient {
    @RequestMapping("/hello")
    String hello();
}

并调用该接口

复制代码
@RestController
public class HelloController {
    @Autowired
    private ProvideClient provideClient;
    @RequestMapping("/helloWorld")
    public String hello(){
        return provideClient.hello();
    }
}
复制代码

调用成功,访问http://localhost:8848/nacos/index.html,用户名密码都是nacos,登录可查看服务状态

访问http://localhost:8184/helloWorld,访问成功

 
posted @   张碧晨  阅读(1500)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示