Feign远程调用
利用RestTemplate发起远程调用的代码:
1 | //2.远程查询user |
存在下面的问题:
•代码可读性差,编程体验不统一
•参数复杂URL难以维护
Feign替代RestTemplate
Fegin的使用步骤如下:
1)引入依赖
在服务的pom文件中引入feign的依赖:
1 | <dependency> |
2)添加注解
在启动类添加@EnableFeignClients
3)编写Feign的客户端
在order-service中新建一个接口,内容如下:
1 | package com.muieay.order.client; |
这个客户端主要是基于SpringMVC的注解来声明远程调用的信息,比如:
- 服务名称:userservice
- 请求方式:GET
- 请求路径:/user/{id}
- 请求参数:Long id
- 返回值类型:User
这样,Feign就可以帮助我们发送http请求,无需自己使用RestTemplate来发送了。
4)测试
用Feign客户端代替RestTemplate:
1 | //String url="http://userservice/user/"+order.getUserId(); |
5)总结
使用Feign的步骤:
① 引入依赖
② 添加@EnableFeignClients注解
③ 编写FeignClient接口
④ 使用FeignClient中定义的方法代替RestTemplate
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 沐语`Blog!
评论


