Jackson 2.6.0 から parse時のrequired fieldをチェックできるようになった。
コード
data class CustomClass(
JsonProperty("id", required = false)
val id: Int,
JsonProperty("name", required = true)
val name: String
)
fun test() {
val mapper = ObjectMapper().configure(DeserializationFeature.FAIL_ON_MISSING_CREATOR_PROPERTIES, true)
var raiseError = false
try {
var customClass = mapper.readValue("{\"id\":10}", javaClass<CustomClass>())
} catch (e: JsonMappingException) {
raiseError = true
}
assertTrue(raiseError)
}
data class CustomClass(
JsonProperty("id", required = false)
val id: Int,
JsonProperty("name", required = true)
val name: String
)
fun test() {
val mapper = ObjectMapper().configure(DeserializationFeature.FAIL_ON_MISSING_CREATOR_PROPERTIES, true)
var raiseError = false
try {
var customClass = mapper.readValue("{\"id\":10}", javaClass<CustomClass>())
} catch (e: JsonMappingException) {
raiseError = true
}
assertTrue(raiseError)
}
こんな感じで、 JsonProperty(required = true)
の AnnotationをつけたfieldはExceptionを投げてくれる。
便利!
参考
Author And Source
この問題について(Jackson 2.6.0 から parse時のrequired fieldをチェックできるようになった。), 我々は、より多くの情報をここで見つけました https://qiita.com/mattak/items/1be9ef9af790f31c9100著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .