コンテンツにスキップ

Protocol Buffer@データ記述型言語

はじめに

本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。


01. Protocol Bufferとは

異なる言語間やサーバー間で変換できるデータ記述型言語である。


02. 文法

enum

enum型のデータを設定する。

enum GenderType {
  UNKNOWN = 0;
  MAN = 1;
  WOMAN = 2;
}

message Person {
  optional int32 id = 1;
  optional string name = 2;
  optional GenderType gender_type = 3;
}


map

記入中...


message

リクエストメッセージで送信するデータ構造を設定する。

syntax = "proto3";

message Person {
  optional int32 id = 1;
  optional string name = 2;
}


oneof

記入中...


package

pbファイルに自動的に定義するパッケージ名を設定する。

例えばGoの場合、pb.goファイルでパッケージ名を自動的に定義する。

package foo;


service

▼ serviceとは

メソッド (rpc) とそのグループ (service) を設定する。

gRPCにおけるAPI仕様である。

service GreetingService {
    rpc Hello (HelloRequest) returns (HelloResponse);
}


syntax

Protocol Bufferコンパイラーのバージョンを設定する。

Protocol Bufferコンパイラーは、protoファイルからpbファイルを自動的に作成する。

syntax = "proto3";