Currently, it is using an intermediary Map together with scaffold methods. The effect is that the client app loses a refined control when interrogating fields of CardDetails. For example, the dateOfBirth field could have only the year being set with month and day set to 0. The Map indirection miss-convert it to wrong date.
By exposing directly the CardDetails to the client API, the client can decide best what to do if only year is present. The client can also use the has-* protobuf-generated methods to check presence/absence of message fields.
Currently, it is using an intermediary
Map
together withscaffold methods
. The effect is that the client app loses a refined control when interrogating fields ofCardDetails
. For example, thedateOfBirth
field could have only theyear
being set withmonth
andday
set to0
. TheMap
indirection miss-convert it to wrong date.By exposing directly the
CardDetails
to the client API, the client can decide best what to do if onlyyear
is present. The client can also use thehas-*
protobuf-generated methods to check presence/absence of message fields.