Artikel ini membincangkan cara untuk memastikan bahawa semua parameter dalam kelas entiti yang dianotasi dengan @RequestBody adalah bukan nol dalam Spring. Ia menerangkan tingkah laku lalai @RequestBody untuk parameter null dan menyediakan beberapa pilihan untuk mengendalikan parameter null

Untuk memastikan semua parameter dalam kelas entiti yang diberi anotasi dengan @RequestBody bukan nol, anda boleh menggunakan anotasi@NotNulldaripada pakejjavax.validation.@NotNullannotation from thejavax.validationpackage.
import javax.validation.constraints.NotNull; public class MyEntity { @NotNull private String name; // Other fields }
When the@NotNullannotation is applied to a field, Spring Validation will automatically check if the field is non-null. If it is null, aConstraintViolationExceptionwill be thrown.
By default, @RequestBody will bind a null value to a non-primitive field in the entity class. For example, if you have a field annotated with@RequestBodyand the corresponding request parameter is null, the field will be set to null in the entity class.
You have several options to handle the situation when some parameters in an entity class with @RequestBody are null:
@DefaultValueannotation from thejavax.validationpackage.import javax.validation.constraints.DefaultValue; public class MyEntity { @RequestBody private String name; @DefaultValue("unknown") private String description; // Other fields }
In this case, if thedescriptionparameter is null in the request, it will be set to "unknown" in the entity class.
Optionalwrapper class from thejava.utilpackage.import java.util.Optional; public class MyEntity { @RequestBody private String name; private Optional description; // Other fields }
In this case, if thedescriptionparameter is null in the request, thedescriptionfield in the entity class will be set toOptional.empty().
BadRequestExceptionrrreee@NotNullanotasi digunakan pada medan, Spring Validation akan menyemak secara automatik sama ada medan itu bukan nol. Jika ia adalah batal,
ConstraintViolationExceptionakan dilemparkan.
@RequestBodydan parameter permintaan yang sepadan adalah batal, medan tersebut akan ditetapkan kepada null dalam kelas entiti.Cara Mengendalikan Parameter Null dalam Sebahagian daripada Kelas Entiti dengan @RequestBody?Anda mempunyai beberapa pilihan untuk mengendalikan situasi apabila beberapa parameter dalam kelas entiti dengan @RequestBody adalah batal:
@DefaultValuedaripada pakejjavax.validation.rrreeeDalam kes ini, jikapeneranganparameter adalah batal dalam permintaan, ia akan ditetapkan kepada "tidak diketahui" dalam kelas entiti.
Pilihandaripada pakejjava.util.rrreeeDalam kes ini, jika parameterpeneranganadalah batal dalam permintaan, medanpenerangandalam kelas entiti akan ditetapkan kepadaOptional.empty().
BadRequestExceptionjika mana-mana parameter yang diperlukan adalah batal.Atas ialah kandungan terperinci Beberapa parameter dalam kelas entiti yang diterima menggunakan anotasi @RequestBody dalam Spring adalah batal. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!