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.