Feign快速入门

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

其作用:帮助我们优雅的实现http请求的发送

Feign的使用步骤

添加依赖

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

开启Feign

@SpringBootApplication
@MapperScan("com.marw.mapper")
@EnableFeignClients
public class OrderServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(OrderServiceApplication.class, args);
    }
}

编写Feign客户端(基于SpringMVC的注解来声明远程调用的信息)

@FeignClient("userservice") //服务名称:userservice
public interface UserClient {
    @GetMapping("/user/{id}") //请求方式:GET、请求路径:/user/{id}、请求参数:Long id
    User findById(@PathVariable("id") Long id); //返回值类型:User
}

远程调用的信息

  • 服务名称:userservice
  • 请求方式:GET
  • 请求路径:/user/{id}
  • 请求参数:Long id
  • 返回值类型:User

Feign客户端完成远程调用

复制代码
    @Autowired
    private UserClient userClient; //依赖注入Feign客户端

    public Order queryById(Long id){
        Order order = orderMapper.findById(id);
        User user = userClient.findById(order.getUserId()); // 完成远程调用
        order.setUser(user);
        return order;
    }
复制代码

查看Feign依赖,其内容实现了负载均衡

 

posted @   一杯水M  阅读(535)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示