微服务调用另一个微服务(Feign)
A微服务:try {//调用B微服务resultString= AService.queryData(param1,param2,param3);} catch (Exception e) {e.printStackTrace();}AService代码:关键代码为@FeignClient(name = "Bserve...
·
A微服务:
try {
//调用B微服务
resultString= AService.queryData(param1,param2,param3);
} catch (Exception e) {
e.printStackTrace();
}
AService代码:关键代码为@FeignClient(name = "Bserver-name",fallback = AServiceFallback.class ) 其中name为B微服务名字(在eureka中心配置的名字)
@FeignClient(name = "Bserver-name",fallback = AServiceFallback.class )
public interface AService {
@PostMapping("/user/queryData")
public String queryData(@RequestParam(value="param1") String param1,@RequestParam(value="param2") String param2,@RequestParam(value="param3") String param3);
}
AServiceFallback代码:(这里的AServiceFallback为失败后的回调方法,理论上只要在AService 类中加上@FeignClient注解就可以实现AService 这个Bean的注入)
@Service("AService")
public class AServiceFallback implements AService {
@Override
public String doCommand(@RequestParam String param1,@RequestParam String
param2,@RequestParam String param3) {
System.out.println("执行失败");
return "error";
}
}
最后,别忘了在Application主类中加入:
@EnableFeignClients
更多推荐
已为社区贡献1条内容
所有评论(0)