1、RestTemplate来调用接口
可以直接注入对象,然后调用接口,这种方式唯一的弊端就是你需要知道服务提供者的地址,根据指定的地址来进行调用
@Autowired
private RestTemplate restTemplate;
@Override
public SubstitutionDto getSubstitutionInfo(Long sid) {
User user= this.restTemplate.getForObject("http://localhost:8000/user/" + id, User.class);
// .......
}
2、声明式的REST客户端Feign来进行接口调用
在启动类上加@EnableFeignClients注解,如果你的Feign接口定义跟你的启动类不在一个包名下,还需要制定扫描的包名@EnableFeignClients(basePackages = "com.hui.api.client")
接口的消费定义,单独抽一个项目出来,后面打成公共的jar,这样无论是哪个项目需要调用接口,引入公共的接口SDK jar即可,不用重新定义一遍了。
网友评论