分布式接口的调用

1、首先在公共模块demo-api中写好接口

2、demo-api接口如下;

3、在provider中进行接口的实现,前提是provider模块已经作为一个服务发布了。

4、对于接口的调用,消费者可以采用两种方式

一、采用feign声明式调用

二、采用restTemplate直接调用(有多种方式)

@RestController
public class DemoConsumerController {
	
	@Autowired //注入声明式调用的接口(feign)
	private DemoApi api;
	
	@Autowired //注入客户端负载均衡调用的bean(ribbon)
	private RestTemplate t;
	/**
	 * feign声明式调用
	 * @param name
	 * @return
	 */
	@RequestMapping(value="/demo/hello")
	public String hello(String name) {
		return api.hello("hello world !");
	}
	/**
	 * ribbon负载均衡调用
	 * @param name
	 * @return
	 */
	@RequestMapping(value="/demo/hello2")
	public String hello2(String name) {
		String result = t.getForEntity("http://DEMO-PROVIDER/demo/hello?name=test", String.class).getBody();
		return result;
	}
	
}
RestTemplate调用的另外一种方法

扫描二维码关注公众号,回复: 5169881 查看本文章

5、restTemplate 对象需要在启动类之前创建后,才可以在接口中注入

  

猜你喜欢

转载自www.cnblogs.com/Andrew520/p/10382146.html