当前位置:首页 > 服务端 > Feign的简单应用总结

Feign的简单应用总结

2022年11月09日 22:03:46服务端21

(1)微服务客户端调用服务提供者提供接口实现方式:

JDK原生的URLConnection

Apache的Http Client

Netty的异步HTTP Client

Spring的RestTemplate

Feign

其中,用起来最方便、最优雅的还是要属Feign了。

(2)Feign实现步骤:

a)在pom.xml引入jar包:

<!--feign -->

      <dependency>

          <groupId>org.springframework.cloud</groupId>

          <artifactId>spring-cloud-starter-feign</artifactId>

          <version>1.3.1.RELEASE</version>

      </dependency>

b)在启动类中添加feign注解@EnableFeignClients:

Feign的简单应用总结 _ JavaClub全栈架构师技术笔记

c)在service方法中添加“@FeignClinet(“service-provider-name”)”注解,如下图所示;

Feign的简单应用总结 _ JavaClub全栈架构师技术笔记

Feign的简单应用总结 _ JavaClub全栈架构师技术笔记

接口中方法的请求方式(GET/POST)跟接口的保持一致。

注意:

l  @GetMapping注解不支持;

l  @PathVariable注解需要设置value值;

l  @RequestParam注解需要设置value值;

l  接口参数是复杂的JAVA对象的时候,需要采用POST方式请求,

   且参数名前需要添加@RequestBody注解,且需要保证接口提供者的接口访问方式是POST;

l  客户端的调用接口的FeignClient接口中,方法名、参数名及参数类型必须和接口方法保持一致;参数名前必须添加@PathVariable或者@RequestParam注解。

l  FeignClient注解中没有写其他值,则name值只得是服务提供者的服务名称;如果定义了url,则feignClient会查找对应url上的微服务,

   name此时的值是指feignClient的名称。name值必须填写,还可以设置其他的值,如configuration(feignClient配置:默认是SpringMvcContract)的值;

l  多个feignCLient类中@FeignClient注解中的name值不能重复,url可以重复;

l  服务提供者的接口参数可以写在请求路径中,也可不写在请求路径中。

d)在Controller方法中引入写好的feignClient接口中的实现方法,即可正常调用远程的接口方法。

Feign的简单应用总结 _ JavaClub全栈架构师技术笔记

(3)参照网址:

http://blog.csdn.net/neosmith/article/details/52449921

作者:书剑零落
来源链接:https://blog.csdn.net/shunhua19881987/article/details/75481903

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/69203.html

标签: Feign
分享给朋友: