frogger
12/02/2019, 8:46 AMPATCH
method where clients can update the properties they want. `null`would be also an allowed value. I'm using the jackson mapper currently and "property not send" and "property is `null`" looks currently the same when using a normal `data`class.adimit
12/02/2019, 8:53 AMsealed class
with Null
, Undefined
, and Present
constructors. You can define the usual map
and flatMap
methods on that class for convenience. You'll have to implement a deserialisation mechanism yourself. We implemented a custom jackson deserialiser. It's not really all that difficult
• You can use an Optional
in combination with null
. Something like Optional<T>?
or Optional<T?>
depending on what you want. I think the latter is the more useful abstraction. I think you'll have to be creative with deserialisation again, though.czuckie
12/02/2019, 10:15 AM@JsonInclude(Include.NON_NULL)
looks like there would be an Include.NULL
also maybeadimit
12/02/2019, 10:25 AMT
.) Since you want to differentiate these three cases, you cannot just use null deserialisation, because the runtime representation of something being null
doesn't tell you whether it was explicitly set to null
or whether its specification was absent from the request.kqr
12/02/2019, 11:01 AMMap
adimit
12/02/2019, 11:12 AMMap<String, Any?>
) but for a prototype it might be ok.adimit
12/02/2019, 11:13 AMIan White
12/02/2019, 1:15 PM