spring cloud 微服务的声明式调用Feign

  1. 所有的微服务都是以http接口的形式展现给用户的,所以就会有很多种调用方式,例如:使用HttpClient或者是spring的restTemplate直接接口调用,但是这种方式并不优雅,而且编写起来非常笨重,而如果使用Feign声明式调用组件来请求微服务接口则显得非常轻巧。Feign的接口调用,仅仅需要使用注解以及声明一个FeignClient接口即可。
  2. 首先添加Maven依赖:


org.springframework.cloud

spring-cloud-starter-openfeign

     3.然后在springboot启动程序中添加@EnableFeignClients注解,该注解用于扫描FeignClient

     4.编写一个FeignClient接口,并在改接口上添加@FeignClient(name="xxx",path = "xxx注解,还注解指定了改接口为FeignClient接口,在该接口中可以像在控制层写rest接口一样定义微服务中需要调用的接口。

例如:

@FeignClient(name="xxx",path = "xxx")

public interface Login {

@GetMapping("/login/v2")

LoginInformation loginV2(@RequestParam(value = "callbackUrl") String callbackUrl,

@RequestParam(value = "token") String token);

}

5.最后在需要调用的地方直接调用该接口即可。

 

你可能感兴趣的:(spring)