Sobes.tech
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.