Rumah  >  Artikel  >  Java  >  Bagaimana untuk Mengecualikan Medan dari Objek Java Apabila Menghantar JSON dalam Spring MVC?

Bagaimana untuk Mengecualikan Medan dari Objek Java Apabila Menghantar JSON dalam Spring MVC?

Barbara Streisand
Barbara Streisandasal
2024-10-26 00:49:02479semak imbas

How to Exclude Fields from Java Objects When Sending JSON in Spring MVC?

Mengabaikan Medan daripada Objek Java Apabila Menghantar JSON daripada Spring MVC

Dalam aplikasi Spring MVC, selalunya wajar untuk mengecualikan medan tertentu secara terpilih daripada objek Java apabila menghantarnya sebagai Jawapan JSON. Ini memastikan bahawa hanya maklumat yang diperlukan dikongsi dengan pelanggan, meningkatkan privasi data dan mengurangkan penggunaan lebar jalur.

Pernyataan Masalah

Dalam kod yang disediakan, kelas model Pengguna mempunyai medan untuk createdBy, updatedBy, dan disulitkanPwd. Walau bagaimanapun, keperluan adalah untuk mengabaikan medan ini secara dinamik semasa menghantar respons JSON.

Penyelesaian

Terdapat dua cara untuk mengecualikan medan secara dinamik menggunakan anotasi:

1 . Menggunakan @JsonIgnoreProperties("fieldname"):

Anotasi kelas Pengguna dengan @JsonIgnoreProperties("fieldname"), nyatakan medan yang harus dikecualikan. Contohnya:

<code class="java">@JsonIgnoreProperties(value = {"createdBy", "updatedBy", "encryptedPwd"})
public class User {
    // ... (Class definition remains the same)
}</code>

2. Menggunakan @JsonIgnore pada Medan Individu:

Anotasi medan tertentu dengan @JsonIgnore sebelum pengisytiharan medan. Contohnya:

<code class="java">public class User {
    private Integer userId;
    private String userName;
    
    @JsonIgnore
    private String encryptedPwd;
    
    // ... (Other fields remain the same)
}</code>

Nota: @JsonIgnore ialah pendekatan yang disyorkan kerana ia memberikan kawalan yang lebih terperinci ke atas medan mana yang dikecualikan.

Contoh GitHub

Untuk pelaksanaan praktikal, rujuk contoh GitHub berikut: https://github.com/FasterXML/jackson-databind/issues/1416

Atas ialah kandungan terperinci Bagaimana untuk Mengecualikan Medan dari Objek Java Apabila Menghantar JSON dalam Spring MVC?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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