Sobes.tech
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.