Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mengecualikan Medan secara Dinamik daripada Pensirilan JSON dalam Spring MVC?

Linda Hamilton
Lepaskan: 2024-10-26 04:37:02
asal
900 orang telah melayarinya

How to Dynamically Exclude Fields from JSON Serialization in Spring MVC?

Mengecualikan Medan Secara Dinamik daripada Pensirilan JSON dalam Spring MVC

Dalam senario di mana data sensitif atau tidak berkaitan perlu dikecualikan daripada respons JSON, Spring MVC menyediakan mekanisme yang fleksibel untuk diabaikan medan tertentu semasa proses bersiri.

@JsonIgnoreProperties Anotasi

Anotasi @JsonIgnoreProperties membolehkan anda mengecualikan medan tertentu daripada bersiri ke dalam JSON. Digunakan pada POJO, ia memerlukan senarai nama medan sebagai argumen, mengetepikan medan tersebut daripada perwakilan JSON. Contohnya, jika anda ingin mengecualikan medan createdBy dan updatedBy daripada objek Pengguna yang diterangkan dalam soalan:

@Entity
@Table(name = "user")
@JsonIgnoreProperties(ignoreUnknown = true, value = {"createdBy", "updatedBy"})
public class User {
    // Class variables and methods
}
Salin selepas log masuk

Dengan anotasi ini, respons JSON hanya akan memasukkan medan yang dinyatakan secara eksplisit dalam parameter nilai, iaitu userId, userName dan emailId.

@JsonIgnore Anotasi

Pilihan lain ialah menggunakan @JsonIgnore anotasi pada medan individu. Anotasi ini menunjukkan bahawa medan harus diabaikan semasa penyirian dan penyahserikatan. Ia berguna apabila senarai medan yang dikecualikan adalah dinamik dan mungkin berubah berdasarkan keadaan masa jalan. Contohnya, jika anda ingin mengecualikan medan encryptedPwd secara dinamik:

@Entity
@Table(name = "user")
@JsonIgnoreProperties(ignoreUnknown = true)
public class User {
    // Other class variables and methods
    
    @JsonIgnore
    private String encryptedPwd;
}
Salin selepas log masuk

Dengan menetapkan @JsonIgnore pada medan encryptedPwd, ia akan dikecualikan daripada siri JSON walaupun ia disertakan dalam kaedah get bagi POJO.

Contoh Github

Perlaksanaan praktikal teknik ini boleh didapati dalam repositori GitHub ini: https://github.com/spring-projects/spring-framework/tree/main/ spring-webmvc/src/test/java/org/springframework/web/servlet/config/annotation/WebMvcAnnotationConfigTests.

Atas ialah kandungan terperinci Bagaimana untuk Mengecualikan Medan secara Dinamik daripada Pensirilan JSON dalam Spring MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!