Junior — Middle
Como indicar no gRPC que um campo específico não é destinado a ser utilizado pelo cliente?
sobes.tech IA
Resposta da IA
No gRPC, para indicar que um campo específico não é destinado a ser utilizado pelo cliente, pode usar a opção [(google.api.field_behavior) = OUTPUT_ONLY] na descrição da mensagem protobuf. Isto serve como uma dica de que o campo é preenchido pelo servidor e não deve ser definido pelo cliente.
Exemplo em protobuf:
import "google/api/field_behavior.proto";
message User {
string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
string name = 2;
}
No código Go, isto não impõe restrições ao nível de compilação, mas serve como documentação e pode ser considerado por ferramentas de geração de código ou validação.
Se não usar opções especiais, os acordos sobre quem deve definir o campo são mantidos ao nível do protocolo e da documentação.