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依赖,其内容实现了负载均衡
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步