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.