前面我们已经创建好了微服务的发现,注册组件Eureka并创建了一个服务提供者注册到Eureka上。这篇文章是编写服务提供者的内容,消费者进行消费。
# 编写服务提供者
我们就简单的实现一个案例,当服务被访问的时候,返回一个User对象。
在服务提供者项目中编写代码。
@RestController
public class HelloWordController {
@RequestMapping("/get/user")
public User hello(){
User user = new User(1, "陈某某", 20);
return user;
}
}
# 编写服务消费者
当我们在消费者端口上访问"/get/user"接口的时候去消费服务提供者,并获得消费提供者的数据返回到我们的消费者端
在服务消费者中编写代码。
@RestController
public class HelloWordController {
@Autowired
EurekaClient eurekaClient;
@Autowired
RestTemplate restTemplate;
@RequestMapping("/get/user")
public User hello(){
//从服务Eureka组件上获取 SERVE-REGLSTER 服务的实例
InstanceInfo instanceInfo = eurekaClient.getNextServerFromEureka("SERVE-REGISTER", false);
//获取服务提供者的ip地址
String homePageUrl = instanceInfo.getHomePageUrl();
System.out.println(homePageUrl);
// 通过restTemplate发送请求
User forObject = restTemplate.getForObject(homePageUrl + "get/user", User.class);
return forObject;
}
}
返回数据
{
"id": 1,
"name": "陈威龙",
"age": 20
}