Sobes.tech
Junior — Middle

Cum se indică în gRPC că un anumit câmp nu este destinat utilizării de către client?

sobes.tech AI

Răspuns de la AI

În gRPC, pentru a indica că un anumit câmp nu este destinat utilizării de către client, se poate folosi opțiunea [(google.api.field_behavior) = OUTPUT_ONLY] în descrierea mesajului protobuf. Acest lucru servește ca o sugestie că câmpul este completat de server și nu trebuie setat de client.

Exemplu în protobuf:

import "google/api/field_behavior.proto";

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

În codul Go, acest lucru nu impune restricții la nivel de compilare, dar servește ca documentație și poate fi luat în considerare de instrumente de generare a codului sau de validare.

Dacă nu se folosesc opțiuni speciale, acordurile despre cine trebuie să seteze câmpul sunt menținute la nivel de protocol și documentație.