Sobes.tech
Junior — Middle

Wie gibt man in gRPC an, dass ein bestimmtes Feld nicht für den Client bestimmt ist?

sobes.tech KI

Antwort von AI

In gRPC, um Feld als [(google.api.field_behavior) = OUTPUT_ONLY] in der protobuf-Beschreibung zu kennzeichnen, bedeutet, dass das Feld vom Server ausgefüllt wird und nicht vom Client gesetzt werden sollte. Dies ist ein Hinweis, dass das Feld nur vom Server gesetzt wird.

Beispiel in protobuf:

import "google/api/field_behavior.proto";

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

Im Go-Code erzwingt dies keine Einschränkungen auf Kompilierungsebene, dient aber als Dokumentation und kann von Code-Generatoren oder Validierungstools berücksichtigt werden.

Ohne spezielle Optionen bleiben Vereinbarungen darüber, wer das Feld setzen soll, auf Protokoll- und Dokumentationsebene bestehen.