Uniform RPCs
As stated previously, APIs are accesible over gRPC with a standardized set of RPCs.
These methods will behave consistently across models.
Read Methods
All readable models have the following RPC signatures:
service ExampleConfigService {
rpc GetOne (ExampleConfigRequest) returns (ExampleConfigResponse);
rpc GetAll (ExampleConfigStreamRequest) returns (stream ExampleConfigStreamResponse);
rpc Subscribe (ExampleConfigStreamRequest) returns (stream ExampleConfigStreamResponse);
}
The ExampleConfigRequest, ExampleConfigResponse, ExampleConfigStreamRequest, and ExampleConfigStreamResponse are generated wrappers for a given model (ExampleConfig, in this example). By generating these wrappers we provide further consistency in request parameters.
Write Methods
All wriable models have the following RPC signatures:
service ExampleConfigService {
rpc Set (ExampleConfigSetRequest) returns (ExampleConfigSetResponse);
rpc Delete (ExampleConfigDeleteRequest) returns (ExampleConfigDeleteResponse);
}
The ExampleConfigSetRequest, ExampleConfigSetResponse, ExampleConfigDeleteRequest, and ExampleConfigDeleteResponse are generated wrappers for a given model (ExampleConfig, in this example). By generating these wrappers we provide further consistency in request parameters.