syntax = "proto3";
package library.v1;
import "google/protobuf/timestamp.proto";
import "google/protobuf/empty.proto";
option go_package = "github.com/example/library/v1;libraryv1";
// Service definition housing multiple RPC endpoints
service LibraryService {
rpc GetBook (GetBookRequest) returns (Book);
rpc ListBooks (google.protobuf.Empty) returns (ListBooksResponse);
rpc CreateBook (CreateBookRequest) returns (Book);
}
// Data message definition for input requests
message GetBookRequest {
string isbn = 1;
}
// Data message definition for book resources
message Book {
string id = 1;
string title = 2;
string author = 3;
int32 publication_year = 4;
google.protobuf.Timestamp added_at = 5;
}
// Data message definition for creation requests
message CreateBookRequest {
string title = 1;
string author = 2;
int32 publication_year = 3;
}
// Data message definition for collection responses
message ListBooksResponse {
repeated Book books = 1;
}
No comments:
Post a Comment