Junior — Middle
Как да посочим в gRPC, че определено поле не е предназначено за използване от клиента?
sobes.tech AI
Отговор от AI
В gRPC, за да посочите, че определено поле не е предназначено за използване от клиента, можете да използвате опцията [(google.api.field_behavior) = OUTPUT_ONLY] в описанието на protobuf съобщението. Това служи като подсказка, че полето се попълва от сървъра и не трябва да се задава от клиента.
Пример в protobuf:
import "google/api/field_behavior.proto";
message User {
string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
string name = 2;
}
В кода на Go това не налага ограничения на ниво компилация, но служи като документация и може да бъде взето под внимание от инструменти за генериране на код или валидиране.
Ако не се използват специални опции, договореностите за това кой трябва да задава полето, се поддържат на ниво протокол и документация.