いくつかのフィールドを除いてオブジェクトをシリアル化できるようにしようとしています。だから私はクラスがあると言う:@ JsonIgnorePropertiesでは@RequestBody経由で値を設定できませんか?
そして私はいくつかの目的のためにそれをシリアル化する必要がありますがパスワードフィールドを除いて。だから私は、コメントを追加しました:
@JsonIgnoreProperties({"password"}) //or
@JsonIgnoreProperties(value = {"amountDelta"}, allowGetters = true, allowSetters = true)
をその後、私は@RequestBody
を経由して私のクラスのインスタンスをラップしようとしている:
@RequestMapping(value = "test", method = POST, produces = "application/json")
public String testBodyWrapping(@RequestBody UserInfo userInfo) {
return userInfo.getPassword();
}
パスワードは常にnull
です! (私は@JsonIgnoreProperties
アノテーションを削除してこれをテストしたが、うまくいきました)しかし、クラス「手作業」のインスタンスを期待どおりに作成し、password
フィールドが出てこない。何が間違っていますか?
つまり、@RequestBodyはシリアル化を使用してリクエストを変換しますか?私は何か他の方法で望みを達成することはできますか? – Daria
あなたはこのオブジェクトで何をしたいのですか?あなたは完全なオブジェクトを持っていて、次に何がありますか?あなたはパスワードフィールドを無視する必要がありますか? –
私は 'RabbitMQ'メッセージとして送るべきオブジェクトを持っています。 (amount、id、refNameなど)いくつかのフィールドがありますが、リクエストには 'RabbitMQ'に送信すべきでないパスワードとシグネチャのパラメータも必要です。リクエストフォーマットも変更できません。多くのユーザー。 – Daria