Tuesday, September 8, 2026

Google Proto sample file with Message and Service.

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