服务
在Spring cloud应用中,当我们要使用feign客户端时,一般要做以下三件事情 :
1.
使用注解@EnableFeignClients启用feign客户端;
示例 :
@SpringBootApplication
@EnableFeignClients
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
1. 使用注解@FeignClient 定义feign客户端 ;
示例 : 该例子定义了一个feign客户端,将远程服务http://test-service/test/echo映射为一个本地Java方法调用。
@FeignClient(name = "test-service", path = "/test")
public interface TestService {
@RequestMapping(value = "/echo", method = RequestMethod.GET)
TestModel echo(@RequestParam("parameter") String parameter);
}
调用
1.
使用注解@EnableDiscoveryClient启用feign客户端;
@SpringBootApplication
@EnableDiscoveryClient
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
2.
使用注解@Autowired使用上面所定义feign的客户端 ;
@Autowired
TestService testService;
public void run()
{
// 这里的使用本地Java API的方式调用远程的Restful接口
TestModel dto = testService.echo("Hello,你好!");
log.info("echo : {}", dto);
}
上面第2步所注入的testService是一个代理对象
评论区