外部APIからjson形式でレスポンスを受け取り、モデルクラスに変換する時にハマったメモ。
何にハマった?
com.fasterxml.jackson.databind.ObjectMapper#readValue(String, TypeReference)
でjsonをモデルに変換しているが、モデルのフィールドに存在しない項目がjsonに存在すると例外は発生する。
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException
解決方法
モデルクラスに @JsonIgnoreProperties(ignoreUnknown = true)
をつける。
@NoArgsConstructor
@JsonNaming(SnakeCaseStrategy.class)
@JsonAutoDetect(getterVisibility = Visibility.NONE)
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class hogehoge {
}
こんな感じ。
ちゃんちゃん。