LoginSignup
0
0

More than 3 years have passed since last update.

【メモ】JSON 応用「@JsonProperty」を使用してI/Fの名称揺れを吸収する。

Posted at

使用したライブラリ

import com.fasterxml.jackson.annotation.JsonProperty;

使用したシチュエーション

複数の外部I/Fがあり新規のもののはずだが、A側は項目名がスネークケース、B側は項目名がキャメルケース、C側はどちらにも当てはまらないず単語単位で大文字になっているなどいろいろあり、外部設計は終わったことになっているが、あとから項目名が変わりそうな雰囲気を出していた。

項目名が変わってとgetterとsetterの呼び出し口が変更差分で出てくると、たまに変更ソースの一覧だけ見て影響範囲を心配しだす人がいたりするので、項目を定義してるオブジェクトのみの修正で済ませたかった。
あとJavaだと基本的にはキャメルケースで記述するので、項目のオブジェクトだけを見ると通常から外れているように見えるので、うっかりスネークケースをキャメルケースに修正する可能性が考えられるので防ぎたかった。

使用例

/**
 * JSONマッピング用のオブジェクト。
 *
 * @author start
 */
public class JsonSampleBean {

    /** ID */
    @Getter
    @Setter
    @JsonProperty("ID") // 名称が変わる場合はアノテーションの引数部分だけ修正する。
    private String id;

    /** 名称 */
    @Getter
    @Setter
    @JsonProperty("name_kana") // 名称が変わる場合はアノテーションの引数部分だけ修正する。
    private String name;

}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0