使用したライブラリ
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;
}