2016-12-05 13 views
0

私は簡単なSpringブートベースのRestControllerを使って作業しています。 JSONを返していますが、レスポンスで生成されたキーの名前を制御できません。SpringブートでJSONレスポンスをカスタマイズしてキー名を変更する

SomePojo sm = new SomePojo(); 
sm.setFullName("John Doe"); 

と@ResponseBodyでインスタンスを返すを次のように私は新しいインスタンスを作成した場合

public class SomePojo { 
    @JsonProperty("name") 
    private String fullName; 
    @JsonProperty("name") 
    public String getFullName() { 
    return fullName; 
    } 
    public void setFullName(String fullName) { 
    this.fullName = fullName; 
    } 
} 

:POJOはこのようになります。私は

​​

を見て期待が、私は財産だけでなく、そのゲッターの両方に@JsonProperty("name")注釈を使用してみました

{ "fullName" : "John Doe" } 

を見ていますが、それは動作しません。 Springブートバージョンは1.4.2です。私が何が欠けているかについての提案はありますか?

+0

この[リンク](http://stackoverflow.com/questions/8560348/different-names-of-json-property-とすることができる動作するセッターシリアル化とデシリアライゼーション中に/ 8560615#8560615)が役に立ちます。 –

+0

http://stackoverflow.com/questions/28324352/how-to-customise-the-jackson-json-mapper-implicitly-used-by-spring-bootが役立つ可能性があります。 – Yuva

+1

getterとsetterで@JsonPropertyを設定すると動作します。 – VelNaga

答えて

2

ゲッターで@JsonPropertyを設定し、それが

+0

ありがとうございました! –

0

何がthis.name

ます。public void setFullName(文字列のfullName)にthis.fullNameを変更した場合、{ this.fullName =のfullName。 }

+0

SomePojoには 'name'プロパティがないので、コンパイルエラーです。 –

関連する問題