Sobes.tech
Junior — Middle

Hogyan jelezhetjük a gRPC-ben, hogy egy adott mező nem a kliens számára készült?

sobes.tech MI

Válasz az MI-től

A gRPC-ben, hogy jelezzük, hogy egy adott mező nem a kliens által használható, az [(google.api.field_behavior) = OUTPUT_ONLY] opciót lehet használni a protobuf üzenet leírásában. Ez arra utal, hogy a mezőt a szerver tölti ki, és nem szabad a kliens által beállítani.

Példa protobuf-ban:

import "google/api/field_behavior.proto";

message User {
  string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  string name = 2;
}

A Go kódban ez nem von maga után korlátozásokat fordítási szinten, de dokumentációként szolgál, és figyelembe vehető kódgeneráló vagy validáló eszközök által.

Ha nem használnak speciális opciókat, akkor a ki kell állítani, hogy ki állítja be a mezőt, protokoll és dokumentáció szinten marad.