第7节-微服务之间如何调用?

本节介绍怎么微服务之间如何调用。示例说明:http://localhost:8088/demo/get接口调用user微服务返回数据

1. 新增一个微服务

新增一个微服务wueasy-cloud-user,至于微服务如果新增,请参考第一节

1.1 开发接口

/**
 * demo
 * @author: fallsea
 * @version 1.0
 */
@RestController
public class DemoController
{
    /**
     * 测试
     * @author: fallsea
     * @return
     */
    @RequestMapping(value= "/get",method=RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)
    public Result<String> get()
    {
        return new Result<String>().setData(RandomHelper.randomNumeric(6));
    }

}

1.2 修改服务端口号

避免微服务端口号重复,这里修改为8081

server : 
  port : 8081  #服务端口号

1.3 修改服务名称

这里的微服务名称为user

spring:
  application:
    name: user

2. 新增一个微服务客户端

新增一个user微服务feign客户端wueasy-cloud-user-client,这里是为了方便微服务调用,所以为当前微服务新增一个客户端。

2.1 引入微服务依赖

<dependency>
  <groupId>com.wueasy</groupId>
  <artifactId>wueasy-cloud-web</artifactId>
  <version>最新版本</version>
</dependency>

2.2 新增客户端类

  • 新增一个客户端类UserFeignClient,里面编写接口信息(接口需要和实际接口一致)
/**
 * 微服务客户端
 * @author: fallsea
 * @version 1.0
 */
@FeignClient(name = "user")
public interface UserFeignClient {

    /**
     * 测试
     * @author: fallsea
     * @return
     */
    @RequestMapping(value = "/get", method = RequestMethod.GET,consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
    Result<String> get();

}

3 微服务调用端

调用user微服务/get接口

3.1 引入feign客户端依赖

引入userfeign客户端依赖wueasy-cloud-user-client

<dependency>
    <groupId>com.wueasy.demo</groupId>
    <artifactId>wueasy-cloud-user-client</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </dependency>

3.2 编写接口

注入客户端UserFeignClient,通过注入类调用接口

/**
 * demo
 * @author: fallsea
 * @version 1.0
 */
@RestController
public class DemoController
{
    @Autowired
    private UserFeignClient userFeignClient;

    /**
     * 测试
     * @author: fallsea
     * @return
     */
    @RequestMapping(value= "/get",method=RequestMethod.GET,produces = MediaType.APPLICATION_JSON_VALUE)
    public Result<String> get()
    {
        return userFeignClient.get();
    }

}

4. 启动服务

分别启动 注册中心、微服务demo、微服务user、网关

5. 测试接口

  • 接口地址:http://127.0.0.1:8088/demo/get
  • 请求类型:GET
  • 请求参数:通过hedaer方式传入参数token,值为bearer:1:35c8538dcfefab00d574cf2a48e93f96
  • 成功示例:
    {
      "errorNo": 0,
      "data": "278255"
    }
    
Copyright © wueasy.com 2017-2022 all right reserved,powered by Gitbook未经允许,禁止以任何形式传播 修订时间: 2022-09-04

results matching ""

    No results matching ""