Author:
Moncef AOUDIA
07/02/2023
{
"openrpc": "1.2.4",
"info": {
},
"methods": {},
"components": {
"schemas": {},
"contentDescriptors": {}
}
}
{
"openapi": "3.1.0",
"info": {
},
"paths": {},
"components": {
"schemas": {}
},
"tags": []
}
syntax = "proto3";
package hello;
service HelloService {
rpc SayHello (HelloRequest) returns (HelloResponse);
}
message HelloRequest {
string greeting = 1;
}
message HelloResponse {
string reply = 1;
}
syntax = "proto3";
package ecommerce.v1;
service ProductInfo {
rpc getProduct(ProductID) returns (Product);
}
message Product {
string id = 1;
string name = 2;
string description = 3;
float price = 4;
}
message ProductID {
string value = 1;
}
Message Encoding Using Protocol Buffers
message Product {
int32 id = 1;
float price = 2;
}
message Product {
int32 id = 1;
float price = 2;
}
Available wire types and corresponding field types
message OrderId {
string value = 1;
}
Length-Prefixed Message Framing
gRPC native implementation architecture
How gRPC semantics relate to HTTP/2
Simple RPC
Server-streaming RPC
Client-streaming RPC
Bidirectional-streaming RPC
ApiCurio studio: OpenAPI 2&3 contracts editor
Gnostic gRPC plugin: OpenAPI v3.0 API description into a description of a gRPC service using the Protocol Buffers language.
gnostic openapi.json --grpc-out=MY_OUTPUP_FOLDER
by Kasun Indrasiri, Danesh Kuruppu
Released January 2020
Publisher(s): O'Reilly Media, Inc.
ISBN: 9781492058335