アノテーションを使用して特定のクラスのObjectMapperを追加できる方法はありますか?httpコール中の特定のクラスのオブジェクトマッパーマッピング
@ResponseBody
public Sample (@RequestBody Sample sample){
//some logic
return sample;
}
これマイ入力ペイロードマイ所望の出力が
{
"name":"abcd",
"id":"1234"
}
あろう
{
"employee":{
"name":"abcd",
"id":"1234"
}
}
ようになる: - iはRequestMapping等の方法を有するRestControllerで
@JsonRootName("employee")
public class Sample implements Serializable{
private String name;
private String id;
// Getters and setters
}
1)方法はありますか?同じクラスを使用して入力と出力を実行できます。
2)私のようなWRAP_ROOT_VALUEする可能ObjectMapperのシリアル化機能を必要とするクラスの先頭に@JsonRootNameを追加しました: - これが唯一のこのクラスに反映させるために追加することができます
ObjectMapper mapper = new ObjectMapper();
mapper.enable(SerializationFeature.WRAP_ROOT_VALUE);
mapper.enable(DeserializationFeature.UNWRAP_ROOT_VALUE);
。
私の質問は、このオブジェクトマッパーコードをどこに置くかも尋ねます。なぜなら私がBeanを作成すると、プロジェクト全体に適用されるからです。しかし、私は、このサンプルクラスでのみ抹消解除を行い、他のクラスでは抹消しません。 – sunder
@sunder私は自分の答えを更新しました。それはあなたが探しているものですか? – gregbert