Springcloud 客户端之间的调用

本文详细介绍了Springcloud中客户端如何调用其他服务。从添加依赖开始,到创建接口、添加注解、编写接口方法,再到启动类的配置,最后是测试和注意事项,包括被调用服务需注册到Eureka服务中心。
摘要由CSDN通过智能技术生成

首先, 确定 调用者, 与被调用者, 

调用者:

1. 添加依赖

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-openfeign</artifactId>
        </dependency>

2. 在调用者模块中创建被调用者接口

public interface xxxxx{

}

3. 在接口上添加注解:

@FeignClient("demo-user")
public interface UserClient{}

// 注: 注解中的参数, 就是 application.yml文件中的模块名
例:
spring:
  application:
    name: demo-user #该名称会在Spring-cloud 调用时使用 springcloud识别 横线 -, 不能是下划线 _

4. 在新创建的 接口中添加方法:

方法的定义:
与controller中的方法类似, 不过是接口的形式,
@RequestMapping(value = "/user/{userId}",method = RequestMethod.GET)
public PageResult getUserById(@PathVariable("userId") String userId);

a. controller中的注解带上 - @RequestMapping()
b. @RequestMapping注解中的url地址补全, controll
好的,下面我来为你介绍一下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的接口访问即可获得当前时间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值