Feign的简单应用总结

原文链接:https://blog.csdn.net/shunhua19881987/article/details/75481903

(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:

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

接口中方法的请求方式(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接口中的实现方法,即可正常调用远程的接口方法。

(3)参照网址:
http://blog.csdn.net/neosmith/article/details/52449921
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值