Selective @JsonIgnore for Serialization
Apabila menggunakan rangka kerja siri/deserialisasi JSON, adalah berguna untuk mengabaikan medan tertentu secara terpilih untuk operasi tertentu. Dalam kes kata laluan, selalunya wajar untuk mengecualikannya daripada keluaran bersiri tetapi masih membenarkannya dinyahsiri.
Konteks Disediakan
Objek pengguna disiri dan deserialized mempunyai sifat "kata laluan". @JsonIgnore telah digunakan pada harta ini untuk menghalangnya daripada disertakan dalam respons JSON bersiri. Walau bagaimanapun, ini juga menyekat penyahserialisasian kata laluan, menjadikan pendaftaran pengguna mustahil.
Penyelesaian
Spring JSONView, yang menggunakan Jackson secara dalaman, menyediakan pelbagai kaedah untuk mengawal siri/ penyahserikatan. Untuk senario khusus ini, dua pendekatan disyorkan:
Versi Jackson < 1.9
Versi Jackson >= 1.9
@JsonProperty(access = JsonProperty.Access.WRITE_ONLY) private String password;
Nota Tambahan
Penyelesaian ini secara khusus menyasarkan pengecualian terpilih untuk bersiri sambil membenarkan penyahserikan. Untuk senario lain di mana topeng penyahserialisasian dikehendaki, pendekatan alternatif mungkin diperlukan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengabaikan Medan Secara Selektif Semasa Pensirian JSON Semasa Masih Membenarkan Penyahserikatan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!