3.3.5. JSON /プロトストリーム変換

キャッシュがインデックス化されている場合や、application/x-protostream を保存するように特別に設定されている場合、Protostream との間で自動的に変換された JSON ドキュメントを送受信することができます。

変換を機能させるには、protobuf スキーマを登録する必要があります。

REST 経由で protobuf スキーマを登録するには、次の例のように、POST または PUT を呼び出して ___protobuf_metadata キャッシュを起動します。

curl -u user:password -X POST --data-binary @./schema.proto http://127.0.0.1:11222/rest/v2/caches/___protobuf_metadata/schema.proto

JSON ドキュメントを記述する際には、ドキュメントに対応する Protobuf Message を識別するための特別なフィールド _type は、ドキュメントに対応する protobuf Messageを識別するために、ドキュメント内に存在する必要があります。

たとえば、以下のスキーマについて考えてみましょう。

message Person  {
  required string name = 1;
  required int32 age = 2;
}

対応する JSON ドキュメントは以下のとおりです。

{
   "_type": "Person",
   "name": "user1",
   "age": 32
}