概要
jackson-databindに含まれるObjectMapperについて疑問に思うところがあったため、調査した記録を残す。
1. [readValue] recordにreadValueすることはできるか?
できる。
recordクラスのフィールドは自ずとfinalになるため、もしかしたらデシリアライズできないのではないか?と思っていたが杞憂であった。
2. [readValue] jsonに想定しないpropertyが入っている場合にはどうなるか?
UnrecognizedPropertyException
をthrowする。
もし想定外のpropertyが来たとしても無視したいならば、下記のようにObjectMapperのFAIL_ON_UNKNOWN_PROPERTIES
をdisableしてやれば良い。
ObjectMapper disableFailOnUnknownPropertiesObjectMapper = new ObjectMapper()
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
検証コード