45 lines
No EOL
1.2 KiB
Text
45 lines
No EOL
1.2 KiB
Text
syntax = "proto3";
|
|
|
|
package mypackage.books.v1;
|
|
|
|
import "google/protobuf/empty.proto";
|
|
import "google/api/field_behavior.proto";
|
|
|
|
import "google/api/annotations.proto";
|
|
|
|
option go_package = "mypackage.books.v1/books";
|
|
|
|
// Book service
|
|
service BooksService {
|
|
// Get a book.
|
|
rpc GetBook(GetBookRequest) returns (Book) {
|
|
option (google.api.http) = {
|
|
get: "/resources/store/v1/{name=books/*}"
|
|
};
|
|
}
|
|
}
|
|
|
|
// The definition of a book resource.
|
|
message Book {
|
|
// The name of the book.
|
|
// Format: books/{book}.
|
|
string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
|
|
|
|
// The display name of the book.
|
|
string display_name = 2 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// The authors of the book.
|
|
repeated string authors = 3 [(google.api.field_behavior) = REQUIRED];
|
|
|
|
// The publisher of the book
|
|
string publisher = 4 [(google.api.field_behavior) = OPTIONAL];
|
|
}
|
|
|
|
// Request message for [play.me.resources.books.v1.BooksService.GetBook].
|
|
message GetBookRequest {
|
|
// The book name is the unique identifier across organisations.
|
|
// Format: books/{book}
|
|
string name = 1 [(google.api.field_behavior) = REQUIRED];
|
|
}
|
|
|
|
// From https://alis.build/guides/how-to-guides/make-your-first-request.html#book-repository-example |