实施步骤
前提条件
- 客户端与服务端均为gRPC类型。
- 服务端已定义proto文件,即在proto文件中定义API的Request和Response。proto文件是用于定义数据结构和服务接口的文件,通常在gRPC中使用。它基于Protobuf语言,用于描述数据的结构和交互方式,充当客户端和服务端之间通信的合同。
创建API
- 登录API网关控制台页面。
- 根据实际业务在左侧导航栏上方选择实例。
- 在左侧导航栏选择“API管理 > API列表”。
- 单击“创建API > 创建GRPC API”。更多详细指导,请参见创建GRPC API。
- 配置前端信息后,单击“下一步”。
表1 前端配置 参数
配置说明
API名称
填写API名称,建议您按照一定的命名规则填写,方便您快速识别和查找。
所属分组
默认“DEFAULT”。
URL
请求方法:接口调用方式,默认“POST”。
请求协议:选择API请求协议,默认“GRPCS”。
子域名:API分组创建后,系统为分组自动分配一个内部测试用的调试域名,此调试域名每天最多可以访问1000次。
路径:接口请求路径。此处填写“/helloworld.Greeter”。请求路径请参考proto文件,helloworld为包名,Greeter服务名。
网关响应
API网关未能成功处理API请求,从而产生的错误响应。
默认的网关响应为“default”。
匹配模式
此处选择“前缀匹配”。
安全认证
选择API认证方式,此处选择“无认证”。(无认证模式,安全级别低,所有用户均可访问,不推荐在实际业务中使用)
- 配置后端信息后,单击“下一步”。
表2 后端配置 参数
配置说明
负载通道
选择“不使用”负载通道访问后端服务。
URL
请求方法:接口调用方式,默认“POST”。
请求协议:选择协议类型,默认“GRPCS”。
后端服务地址:填写后端服务地址及端口。
路径:后端服务的路径。此处填写“/”。
- 单击“完成”。
在“API运行”页面中,API的URL不显示调用方法以及协议,仅显示域名跟路径部分。当发送gRPC请求时,填入域名部分即可。
发布API
- 在“API运行”页面,选择已创建的API,单击“发布最新版本”。
- 选择API的发布环境,并填写发布说明。
- 单击“确定”,API发布成功后,发布按钮左上角的红色感叹号消失。
验证
使用接口测试工具调用已创建的API,或者在客户端调用已创建的API。
- 填写API所属分组的调试域名。
- 导入服务端的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:响应体
- 参考proto文件在“message”区域中填写API的Request。
{ "name": "world" }
- 单击“Invoke”发送请求。
- 在“Response”区域中返回API的Response,且状态码显示“0 OK”,表示调用成功。