SpringCloud微服务学习笔记(二)【Feign,Gateway,Docker】

发布时间 2023-10-01 16:01:02作者: 何平安

Feign

先来看我们以前利用RestTemplate发起远程调用的代码:

存在下面的问题:

•代码可读性差,编程体验不统一

•参数复杂URL难以维护

Feign是一个声明式的http客户端,官方地址:https://github.com/OpenFeign/feign

其作用就是帮助我们优雅的实现http请求的发送,解决上面提到的问题。

基于feign远程调用

先在order-service引入依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

在 OrderApplication引入自动装配的开关@EnableFeignClients

然后在 order-service里新建一个接口并编写:

@FeignClient("userservice")
public interface UserClient {
    
    @GetMapping("/user/{id}")
    User findById(@PathVariable("id") Long id);
}