45 lines
1.2 KiB
Text
45 lines
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
|