SpringCloud微服务之间调用接口Demo
时间: 2024-06-08 09:06:59 浏览: 149
Spring Cloud多个微服务之间调用代码实例
好的,下面我来为你介绍一下Spring Cloud微服务之间调用接口的Demo。
首先,我们需要创建一个Eureka Server,用于服务的注册与发现。可以使用Spring Cloud提供的`@EnableEurekaServer`注解来实现。
其次,我们需要创建两个微服务,分别为`service-provider`和`service-consumer`。其中,`service-provider`提供一个接口用于返回当前时间,`service-consumer`通过调用`service-provider`的接口获取当前时间并返回给客户端。
接下来,我们来看一下具体的实现步骤:
1. 创建Eureka Server
在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
```
在启动类上增加`@EnableEurekaServer`注解,示例代码如下:
```java
@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
```
2. 创建service-provider微服务
在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
```
在application.properties文件中配置Eureka Server的地址:
```
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
```
创建提供当前时间的接口,示例代码如下:
```java
@RestController
public class TimeController {
@GetMapping("/time")
public String getTime() {
return LocalDateTime.now().toString();
}
}
```
3. 创建service-consumer微服务
在pom.xml文件中添加以下依赖:
```
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
```
在application.properties文件中配置Eureka Server的地址:
```
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
```
创建调用service-provider接口的方法,示例代码如下:
```java
@RestController
public class TimeController {
@Autowired
private RestTemplate restTemplate;
@GetMapping("/time")
public String getTime() {
String url = "http://service-provider/time";
String result = restTemplate.getForObject(url, String.class);
return result;
}
}
```
最后,启动Eureka Server、service-provider和service-consumer微服务,通过service-consumer的接口访问即可获得当前时间。
阅读全文