springcloud之服务客户端之间的调用Feign

一、 概述

Rest 和Feign都可以实现对客户端的调用

Feign是一个声明式的WebService客户端,它使得编写WebSerivce客户端变得更加简单。我们只需要使用Feign来创建一个接口并用注解来配置它既可完成。

二、 实现

maven依赖:(在实现了eureka的基础上)

		
			org.springframework.cloud
			spring-cloud-starter-feign
		

开启Feign

springcloud之服务客户端之间的调用Feign_第1张图片

创建接口

@FeignClient(value = "service-office")//这是将要被调用的客户端的application name
public interface OfficeFeign1 {
	@GetMapping("/app/getUser1") //这是要调用的url
	List getOrderByUserList();
}

实现controller

	@Autowired
	private OfficeFeign1 officeFeign1;
	@GetMapping(value = "/test")
	public List demo(HttpServletRequest request){
		log.info(String.format("%s request to %s", request.getMethod(), request.getRequestURL().toString()));
		log.info(officeFeign1.getOrderByUserList().toString());
		return officeFeign1.getOrderByUserList();
	}

此项目也要注册到eureka  此项目的port :7777

完成即可  访问localhost:7777/test  便会调用项目service-office的接口 /app/getUser1

三、 经验总结

在使用Feign的过程中,对Feign的超时时间和ribbon的重试机制是比较难理解的,可以参考文章:springcloud之Feign、ribbon设置超时时间和重试机制的总结

你可能感兴趣的:(springcloud)