Protocol Documentation

Table of Contents

account.proto

Top

GetUserInfoRequest

FieldTypeLabelDescription
user_id string

GetUserInfoResponse

FieldTypeLabelDescription
username string

email string

registration_date google.protobuf.Timestamp

LoginUserRequest

FieldTypeLabelDescription
username string

password string

LoginUserResponse

FieldTypeLabelDescription
user_id string

token string

RegisterUserRequest

FieldTypeLabelDescription
username string

password string

email string

RegisterUserResponse

FieldTypeLabelDescription
user_id string

registration_date google.protobuf.Timestamp

AccountService

Method NameRequest TypeResponse TypeDescription
RegisterUser RegisterUserRequest RegisterUserResponse

LoginUser LoginUserRequest LoginUserResponse

GetUserInfo GetUserInfoRequest GetUserInfoResponse

Methods with HTTP bindings

Method Name Method Pattern Body
RegisterUser POST /v1/accounts/register *
LoginUser POST /v1/accounts/login *
GetUserInfo GET /v1/accounts/{user_id}

book.proto

Top

Book

FieldTypeLabelDescription
book_id string

title string

author string

BorrowBookRequest

FieldTypeLabelDescription
book_id string

user_id string

BorrowBookResponse

FieldTypeLabelDescription
message string

BorrowRecord

FieldTypeLabelDescription
book_id string

user_id string

borrow_date google.protobuf.Timestamp

return_due_date google.protobuf.Timestamp

return_date google.protobuf.Timestamp

ReturnBookRequest

FieldTypeLabelDescription
book_id string

user_id string

ReturnBookResponse

FieldTypeLabelDescription
message string

SearchBookRequest

FieldTypeLabelDescription
title string

SearchBookResponse

FieldTypeLabelDescription
books Book repeated

LibraryService

本の貸し出しサービス

// アカウント登録

rpc RegisterAccount (AccountRequest) returns (AccountResponse) {

option (google.api.http) = {

post: "/v1/register/{hobby}"

body: "body"

};

}

Method NameRequest TypeResponse TypeDescription
BorrowBook BorrowBookRequest BorrowBookResponse

本を借りるためのメソッド

ReturnBook ReturnBookRequest ReturnBookResponse

SearchBook SearchBookRequest SearchBookResponse

Methods with HTTP bindings

Method Name Method Pattern Body
BorrowBook POST /v1/info/book *

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)