spring-cloud-feign使用

世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程。

依赖:


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

启动注解:

@EnableFeignClients
public class Client1Application {

    public static void main(String[] args) {
        SpringApplication.run(Client1Application.class, args);
    }

代码:

@Component
@FeignClient("client")
public interface FeignService {

    /**
     * 测试
     * @return
     */
    @PostMapping("/get")
    String get ();
}

使用:

@Autowired
FeignService feignService;

@GetMapping("/feign")
public String feign () {
     return feignService.get();
}

被调用端口:application.name = client

@RestController
public class TestController {
    @PostMapping("/get")
    public String get () {
        return "client2";
    }
}

由以上过程可以看到,其实feign这种声明式接口,只是通过注解对restTemplate请求进行了封装,在我们使用时,和调用本地方法的感觉一样,而本质上就一个http请求。
spring-cloud-feign使用_第1张图片

你可能感兴趣的:(spring,cloud,spring,boot)