やりたいこと
以下のようなクラスがあった場合に、
@Getter
public class SampleClass{
private String propertyA;
private String propertyB;
}
オブジェクトを変換すると、
{"propertyA":"hoge","propertyB":"fuga"}
のようになると思うのですが、
諸事情あって、以下のように送信したかったことがありました。
{"PropertyA":"hoge","PropertyB":"fuga"}
いちいち@JsonProperty()
を書くのは面倒・・・
解決法
ObjectMapper
のオプションで解決できました。
ObjectMapper mapper = new ObjectMapper();
// 以下のオプションを有効化!!
mapper.setPropertyNamingStrategy(PropertyNamingStrategies.UPPER_CAMEL_CASE);
try {
String jsonData = mapper.writeValueAsString(form);
System.out.println(jsonData);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
他にもスネークケースなどなどの変換も用意されていたので、お困りの方は見てみると楽できるかもしれません!