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 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐