更新时间:2024-09-20 GMT+08:00

实施步骤

前提条件

  • 客户端与服务端均为gRPC类型。
  • 服务端已定义proto文件,即在proto文件中定义API的Request和Response。proto文件是用于定义数据结构和服务接口的文件,通常在gRPC中使用。它基于Protobuf语言,用于描述数据的结构和交互方式,充当客户端和服务端之间通信的合同。

创建API

  1. 登录API网关控制台页面。
  2. 根据实际业务在左侧导航栏上方选择实例。
  3. 在左侧导航栏选择“API管理 > API列表”。
  4. 单击“创建API > 创建GRPC API”。更多详细指导,请参见创建GRPC API
  5. 配置前端信息后,单击“下一步”。

    表1 前端配置

    参数

    配置说明

    API名称

    填写API名称,建议您按照一定的命名规则填写,方便您快速识别和查找。

    所属分组

    默认“DEFAULT”。

    URL

    请求方法:接口调用方式,默认“POST”。

    请求协议:选择API请求协议,默认“GRPCS”。

    子域名:API分组创建后,系统为分组自动分配一个内部测试用的调试域名,此调试域名每天最多可以访问1000次。

    路径:接口请求路径。此处填写“/helloworld.Greeter”。请求路径请参考proto文件,helloworld为包名,Greeter服务名。

    网关响应

    API网关未能成功处理API请求,从而产生的错误响应。

    默认的网关响应为“default”。

    匹配模式

    此处选择“前缀匹配”。

    安全认证

    选择API认证方式,此处选择“无认证”。(无认证模式,安全级别低,所有用户均可访问,不推荐在实际业务中使用)

  6. 配置后端信息后,单击“下一步”。

    表2 后端配置

    参数

    配置说明

    负载通道

    选择“不使用”负载通道访问后端服务。

    URL

    请求方法:接口调用方式,默认“POST”。

    请求协议:选择协议类型,默认“GRPCS”。

    后端服务地址:填写后端服务地址及端口。

    路径:后端服务的路径。此处填写“/”。

  7. 单击“完成”。

    在“API运行”页面中,API的URL不显示调用方法以及协议,仅显示域名跟路径部分。当发送gRPC请求时,填入域名部分即可。

发布API

  1. 在“API运行”页面,选择已创建的API,单击“发布最新版本”。
  2. 选择API的发布环境,并填写发布说明。
  3. 单击“确定”,API发布成功后,发布按钮左上角的红色感叹号消失。

验证

使用接口测试工具调用已创建的API,或者在客户端调用已创建的API。

  1. 填写API所属分组的调试域名。
  2. 导入服务端的proto文件。

    此处的proto文件如下:
    syntax = "proto3";
    package helloworld;
    // The greeting service definition.
    service Greeter {
    // Sends a greeting
    rpc SayHello (HelloRequest) returns (HelloReply) {}
    }
    // The request message containing the user's name.
    message HelloRequest {
    string name = 1;
    }
    // The response message containing the greetings
    message HelloReply {
    string message = 1;
    } 
    • helloworld:包名
    • Greeter:服务名
    • SayHello:方法名
    • HelloRequest:请求体
    • HelloReply:响应体

  3. 参考proto文件在“message”区域中填写API的Request。

    {
        "name": "world"
    }

  4. 单击“Invoke”发送请求。
  5. 在“Response”区域中返回API的Response,且状态码显示“0 OK”,表示调用成功。