制御されたシリアル化と逆シリアル化のための JsonIgnore アノテーション
ユーザー オブジェクト内の機密データを扱う場合、シリアル化中にデータが公開されるのを防ぐことが不可欠です。 @JsonIgnore アノテーションはこの目的を果たしますが、誤って逆シリアル化をブロックする可能性があります。
@JsonIgnore による逆シリアル化の問題
このシナリオでは、パスワード プロパティの @JsonIgnore アノテーションにより、逆シリアル化がブロックされます。クライアントにシリアル化します。ただし、プロパティが正しいパスワードで逆シリアル化されることもブロックされるため、サインアップが困難になります。
選択的無知に対するソリューション
Jackson のバージョンに応じて、2 つのアプローチが可能です。使用可能:
以前の Jackson バージョン1.9:
Jackson バージョン 1.9 および上:
サンプル コード:
でJava:
@JsonIgnore(serialize = true, deserialize = false) private String password; @JsonProperty("password") private void setPassword(String password) { this.password = password; }
このアプローチにより、シリアル化中にのみ @JsonIgnore を適用できるようになり、パスワードを意図しない公開から保護しながら正しく逆シリアル化できるようになります。
以上が@JsonIgnore を使用して、逆シリアル化をブロックせずにシリアル化を制御するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。