一介闲人
一介闲人
OpenFeign 是一个声明式的 Web 服务客户端。它使得编写 HTTP 客户端变得更加简单,只需要通过创建一个接口并用注解来定义请求的参数和路径,就可以像调用本地方法一样调用远程服务。
首先,确保您的项目已经引入了 Spring Cloud 和 OpenFeign 的相关依赖。
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
@FeignClient(value = "cloud-payment-service")//consul服务注册名
public interface PayFeignApi {
@GetMapping("/pay/get/{id}")
public ResultData getPayById(@PathVariable("id") Integer id);
@GetMapping("/pay/get/info")
public String mylb();
}
在上述代码中,@FeignClient
注解指定了要调用的服务名称,@GetMapping
注解定义了请求的方法和路径。
在需要调用远程服务的地方,注入刚刚创建的 Feign 客户端接口,并直接调用定义的方法。
@RestController
public class OrderController {
@Resource
private PayFeignApi payFeignApi;
@GetMapping("/feign/pay/get/{id}")
public ResultData getPayById(@PathVariable("id") Integer id){
return payFeignApi.getPayById(id);
}
@RequestMapping("/feign/mylb")
public String mylb(){
return payFeignApi.mylb();
}
}
为了让 OpenFeign 能够正确地找到要调用的服务,还需要配置服务发现机制。
评论