Junior — Middle
Jak v gRPC označit, že určité pole není určeno pro použití klientem?
sobes.tech AI
Odpověď od AI
V gRPC, pokud chcete označit, že určité pole není určeno k použití klientem, můžete v popisu protobuf zprávy použít volbu [(google.api.field_behavior) = OUTPUT_ONLY]. To slouží jako nápověda, že pole je vyplněno serverem a nemělo by být nastavováno klientem.
Příklad v protobuf:
import "google/api/field_behavior.proto";
message User {
string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
string name = 2;
}
V kódu v jazyce Go to neklade omezení na úrovni kompilace, ale slouží jako dokumentace a může být zohledněno nástroji pro generování kódu nebo validaci.
Pokud se nepoužijí speciální volby, dohody o tom, kdo má pole nastavovat, jsou zachovány na úrovni protokolu a dokumentace.