Now that protocol buffers 3 has support for optional
fields which lets you test whether the field was set or not, are FieldMask
s still useful?
For instance, when implementing an Update
method in gRPC which allows the client to update only the fields that they pass, should the method take a message with optional fields or a FieldMask? Is it a matter of personal preference? Or is there a benefit to one of them?
We also want to expose the gRPC API as a JSON/HTTP API using either grpc-gateway or envoy with the grpc_json_transcoder filter. Do these have a preference with either pattern?