SpringCloud Feign

2023-05-15  本文已影响0人  饱饱想要的灵感

Feign是一个声明式的Web Service客户端,它使得编写Web服务客户端变得更加容易。我们只需要使用Feign来创建一个接口并注解。

它具有可插拔的注解支持,包括Feign注解和JAX-RS注解。Feign还支持可插拔的编码器和解码器。Spring Cloud Feign还扩展了这个功能,使得使用Feign更加方便。

使用Feign的步骤如下:

  1. 添加Feign依赖

在pom.xml文件中添加以下依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
  1. 创建Feign客户端接口

创建一个接口,并使用@FeignClient注解来指定要调用的服务名称。例如:

@FeignClient(name = "user-service")
public interface UserServiceClient {
    @GetMapping("/users/{id}")
    User getUserById(@PathVariable("id") Long id);
}
  1. 服务名称,

在Spring Cloud中,可以通过在配置文件中设置spring.application.name属性来设置服务名称。例如:

spring:
  application:
    name: user-service

这将把服务名称设置为user-service。在Eureka注册中心中,该服务将以此名称注册。

  1. 注入Feign客户端

在需要调用服务的地方,注入Feign客户端即可。例如:

@RestController
public class UserController {
    @Autowired
    private UserServiceClient userServiceClient;

    @GetMapping("/users/{id}")
    public User getUserById(@PathVariable Long id) {
        return userServiceClient.getUserById(id);
    }
}

这样就可以使用Feign来调用其他服务了。

附录:

Feign注解:

JAX-RS注解:

上一篇 下一篇

猜你喜欢

热点阅读