SpringCloud微服务之Feign怎么用

小编给大家分享一下Spring Cloud微服务之Feign怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

专业从事网站设计、网站建设,高端网站制作设计,小程序制作,网站推广的成都做网站的公司。优秀技术团队竭力真诚服务,采用HTML5+CSS3前端渲染技术,响应式网站建设,让网站在手机、平板、PC、微信下都能呈现。建站过程建立专项小组,与您实时在线互动,随时提供解决方案,畅聊想法和感受。

Feign是一个声明式的http客服端,目标是降低Http API的复杂性.可以用它来处理微服务间的调用.

01

接口模块(demo-account)

1.AccountController新增接口

@GetMapping("/{id}")public ResponseEntity> getById(@PathVariable("id") final long id) {  final Account account = service.getById(id);  log.info("getById:[{}]", account);  return Rs.ok(account);}

02

Feign模块(demo-feign)

1. 新建模块demo-feign,pom.xml添加依赖

    org.springframework.cloud    spring-cloud-starter-openfeign

2. 新建AccountService

@FeignClient(name = "DEMO-ACCOUNT")public interface AccountService {  @GetMapping("/demo-account/account/{id}")  ResponseEntity> getById(@PathVariable("id") final long id);}
  1. 上面的getById方法可以直接复制对应controller代码,只保留用户自定义参数即可,注意补全请求路径.

  2. @FeignClient的name为被调用服务注册到注册中心的名称,即eureka.instance.appname,通常就是spring.application.name的值.

  3. 调用模块(demo-feign)controller的请求方式要与被调用模块(demo-account)保持一致.

3. 新建controller/AccountController

@Slf4j@RestController@RequestMapping("/account")public class AccountController {  @Resource  private AccountService service;
 @GetMapping("/get-by-id")  @ApiOperation("通过id获取账户详情")  public ResponseEntity> getById() {    final ResponseEntity> response = service.getById(1L);    final Account account = Rs.requireNonNull(response, ResCode.ACCOUNT_FAIL_GET_BY_ID);    return Rs.ok(account);  }}

4. 添加启动类 FeignApplication

@EnableFeignClients(basePackages = "io.github.ramerf.feign.service")@EnableDiscoveryClient@SpringBootApplication(scanBasePackages = {"io.github.ramerf.wind", "io.github.ramerf.feign"})public class FeignApplication {  public static void main(String[] args) {    SpringApplication.run(FeignApplication.class, args);  }}

@EnableFeignClients的basePackages属性,指定feign接口定义所在包.

03

启动模块测试

启动demo-eureka,demo-gateway,demo-account,demo-feign模块.

访问: http://localhost:3000/demo-feign/account/get-by-id

以上是“Spring Cloud微服务之Feign怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!


名称栏目:SpringCloud微服务之Feign怎么用
链接URL:http://hbruida.cn/article/jpcieg.html