feign接口是一个声明式的web服务客户端,它最大的优势就是可以将url请求给隐藏起来,用优雅的方式去发送请求,使得开发者对http请求无感。
不同项目之间的feign接口调用,可以通过eureka的方式进行服务注册,并轻松完成调用。
feign实战入门:
-
引入依赖包
<!-- feign的依赖包 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <!-- eureka --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency>
-
开启Feign功能
在启动类上添加注解 : @EnableFeignClients
-
注册提供服务方:
在项目的yaml文件的配置中加入spring.application.name=a-service-provider
@RestController @RequestMapping("/test") public class TestController { @RequestMapping(value = "/getName") public Stirng getName(){ return "zhangsan"; } }
-
服务消费方
@FeignClient(name = "a-service-provider") public interface TestClient{ @GetMapping(value="/test/getName") String getName(); }
@Service public class TestService{ @Autowired private TestClient testClient; public void test01(){ String name = testClient.getName();// zhangsan } }