2-3采用feign实现服务调用默认集成了Ribbon

feign的使用方法

feign是一个声明式的伪http客户端,调用远程像调用本地一样简单
默认集成了ribbon负载均衡,nacos兼容feign,nacos下使用feign就实现了负载均衡

1 pom文件添加依赖
2 启动类添加注解声明
3 添加接口方法
4 本地调用

1 pom文件添加依赖

        <!--添加feign的依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

2 启动类添加注解@EnableFeignClients

3 添加新的接口,新增调用方法

@FeignClient(value = "service-product")
public interface ProductService {
    @RequestMapping("/product/{pid}")
    // feignClient的值和requestMapping的值组合起来就是远程访问的请求路径
    Product findByPid(@PathVariable("pid")  Integer pid);
}

注意:方法参数如果为@PathVariable Integer pid,会报错:PathVariable annotation was empty on param 0

4 本地调用

    @Autowired
    private ProductService productService;
    
    ....{ Product product = productService.findByPid(pid); ....}
roductService.findByPid(pid); ....}

猜你喜欢

转载自blog.csdn.net/weixin_45544465/article/details/105936552
2-3
今日推荐