认识Fegin
Feign是简化Java HTTP客户端开发的工具(java-to-httpclient-binder),它的灵感
来自于Retrofit、JAXRS-2.0和WebSocket。Feign的初衷是降低统一绑定Denominator到
HTTP API的复杂度,不区分是否为restful。
1.添加依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>
2.需要Eureka
@SpringBootApplication @EnableEurekaClient //eureka @EnableDiscoveryClient // @EnableFeignClients //相互调用 public class QaApplication { public static void main(String[] args) { SpringApplication.run(QaApplication.class, args); } }
3.接口调用
//调用其他模块 @RequestMapping(value = "/label/{labelid}",method = RequestMethod.GET) public Result findLableById(@PathVariable String labelid) { Result result = labelClient.findById(labelid); return result; }
@FeignClient注解用于指定从哪个服务中调用功能 ,注意 里面的名称与被调用的服务
名保持一致,并且不能包含下划线。
@RequestMapping注解用于对被调用的微服务进行地址映射。注意 @PathVariable注
解一定要指定参数名称,否则出错
@FeignClient("tensquare-base")//服务名 public interface LabelClient { @RequestMapping(value = "/label/{id}", method = RequestMethod.GET) public Result findById(@PathVariable(value="id") String id) ; }