Sobes.tech
Junior — Middle

Come indicare in gRPC che un campo specifico non è destinato all'uso da parte del client?

sobes.tech AI

Risposta dell'AI

In gRPC, per indicare che un campo specifico non è destinato all'uso da parte del client, si può usare l'opzione [(google.api.field_behavior) = OUTPUT_ONLY] nella descrizione del messaggio protobuf. Questo serve come indicazione che il campo viene compilato dal server e non dovrebbe essere impostato dal client.

Esempio in protobuf:

import "google/api/field_behavior.proto";

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

Nel codice Go, questo non impone restrizioni a livello di compilazione, ma funge da documentazione e può essere considerato dagli strumenti di generazione del codice o di validazione.

Se non si utilizzano opzioni speciali, gli accordi su chi deve impostare il campo vengono mantenuti a livello di protocollo e documentazione.