色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

grpc json對象

夏志豪2年前9瀏覽0評論

gRPC是一個高性能、開源的遠程過程調用(RPC)框架,它可以讓客戶端和服務器之間進行雙向流式通信。而在實際開發中,我們還需要對數據進行序列化和反序列化,這時候就需要用到gRPC的JSON對象。

//proto文件
syntax = "proto3";
package helloworld;
import "google/protobuf/empty.proto";
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
service Greeter {
rpc SayHello(HelloRequest) returns (HelloReply) {}
rpc SayRepeat(HelloRequest) returns (stream HelloReply) {}
rpc SayManyHellos(stream HelloRequest) returns (HelloReply) {}
rpc SayEmpty(google.protobuf.Empty) returns (HelloReply) {}
}
//生成json對象
{
"type": "object",
"properties": {
"SayHello": {
"request": {
"type": "object",
"properties": {
"name": {
"type": "string",
"default": ""
}
}
},
"response": {
"type": "object",
"properties": {
"message": {
"type": "string",
"default": ""
}
}
}
},
"SayRepeat": {
"request": {
"type": "object",
"properties": {
"name": {
"type": "string",
"default": ""
}
}
},
"response": {
"type": "object",
"properties": {
"message": {
"type": "string",
"default": ""
}
}
}
},
"SayManyHellos": {
"request": {
"type": "object",
"properties": {
"name": {
"type": "string",
"default": ""
}
}
},
"response": {
"type": "object",
"properties": {
"message": {
"type": "string",
"default": ""
}
}
}
},
"SayEmpty": {
"request": {
"type": "object",
"properties": {}
},
"response": {
"type": "object",
"properties": {
"message": {
"type": "string",
"default": ""
}
}
}
}
}
}

上面的代碼展示了一個proto文件,以及使用gRPC的JSON對象生成器生成的對應的JSON對象。可以看到,使用JSON對象可以方便地對請求和響應進行格式化和解析,是gRPC與其他RPC框架區別之一。