Http协议转gRPC协议插件
插件信息
名称 | 字段 | 属性 |
---|
http协议转gRPC协议 | http_to_grpc | 协议转换 |
功能描述
将客户端 HTTP请求 转换成 gRPC请求 转发给上游服务,并将上游服务的 gRPC响应 转换成 HTTP响应 转发给客户端。该插件仅当路由驱动为http
时生效。
使用方法
- 全局插件创建http_to_grpc插件
- 创建http路由时添加该插件
配置说明
参数名 | 值类型 | 是否必填 | 值可能性 | 默认值 | 说明 |
---|
service | string | 否 | Service.Hello | | 服务名称,gRPC调用服务名 |
method | string | 否 | Hello | | 方法名称,gRPC调用方法名 |
authority | string | 否 | | | 虚拟主机域名(Authority) |
format | string | 是 | json | | 请求数据格式 |
reflect | bool | 是 | | false | 反射,若gRPC服务器开启了反射,配置时可设置为true |
protobuf_id | string | 否 | | | protobuf编码器ID,若reflect为false时,该值必填 |
header | map[string]string | 否 | {"name":"apinto"} | | 额外头部,转发请求时,会将其拼接到转发的请求头部中一并转发 |
- 当服务名称不填时,则默认使用 HTTP请求路径的第一个
/
和第二个/
之间的值作为服务名 - 当方法名称不填时,则默认使用 HTTP请求路径的第二个
/
和第三个/
之间的值作为服务名 - 即,若HTTP请求路径上
/Service.Hello/Hello
,则此时服务名称为Service.Hello
,方法名称为Hello