

Einige Parameter in der Entitätsklasse, die mithilfe der @RequestBody-Annotation in Spring empfangen wurden, sind null
Wenn derIn diesem Artikel wird erläutert, wie sichergestellt werden kann, dass alle Parameter in einer mit @RequestBody annotierten Entitätsklasse in Spring ungleich Null sind. Es erklärt das Standardverhalten von @RequestBody für Nullparameter und bietet mehrere Optionen zum Umgang mit Nullparametern Wenn eine mit @RequestBody annotierte Entitätsklasse ungleich Null ist, können Sie die Annotation
@NotNull
aus dem Paketjavax.validation
verwenden.import javax.validation.constraints.NotNull; public class MyEntity { @NotNull private String name; // Other fields }Nach dem Login kopieren
@NotNull
-Annotation auf ein Feld angewendet wird, prüft Spring Validation automatisch, ob das Feld nicht null ist. Wenn es null ist, wird eine ConstraintViolationException
ausgelöst.Wie geht @RequestBody mit Nullparametern um?
Standardmäßig bindet @RequestBody einen Nullwert an ein nicht-primitives Feld in der Entitätsklasse . Wenn Sie beispielsweise ein Feld haben, das mit @RequestBody
annotiert ist und der entsprechende Anforderungsparameter null ist, wird das Feld in der Entitätsklasse auf null gesetzt Entitätsklasse mit @RequestBody?
Sie haben mehrere Möglichkeiten, mit der Situation umzugehen, wenn einige Parameter in einer Entitätsklasse mit @RequestBody null sind:@NotNull
annotation from the javax.validation
package.
import javax.validation.constraints.DefaultValue; public class MyEntity { @RequestBody private String name; @DefaultValue("unknown") private String description; // Other fields }
When the @NotNull
annotation is applied to a field, Spring Validation will automatically check if the field is non-null. If it is null, a ConstraintViolationException
will be thrown.
How Does @RequestBody Handle Null Parameters?
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 @RequestBody
and the corresponding request parameter is null, the field will be set to null in the entity class.
How to Handle Null Parameters in Part of an Entity Class with @RequestBody?
You have several options to handle the situation when some parameters in an entity class with @RequestBody are null:
- Use default values: You can provide default values for null fields by using the
@DefaultValue
annotation from thejavax.validation
package.
import java.util.Optional; public class MyEntity { @RequestBody private String name; private Optional<String> description; // Other fields }
In this case, if the description
parameter is null in the request, it will be set to "unknown" in the entity class.
-
Use optional fields: You can declare optional fields in the entity class using the
Optional
wrapper class from thejava.util
package.
In this case, if the description
parameter is null in the request, the description
field in the entity class will be set to Optional.empty()
.
-
Custom handling: You can also write custom code in the controller method to handle null parameters. For example, you could throw a
BadRequestException
-
Standardwerte verwenden: Sie können Folgendes angeben Standardwerte für Nullfelder mithilfe der Annotation
@DefaultValue
aus dem Paketjavax.validation
.
description
Wenn der Parameter in der Anfrage null ist, wird er in der Entitätsklasse auf „unbekannt“ gesetzt.🎜-
Optionale Felder verwenden: Sie können optionale Felder im deklarieren Entitätsklasse unter Verwendung der Wrapper-Klasse
Optional
aus dem Paketjava.util
.🎜🎜rrreee🎜In diesem Fall, wenn der Parameterdescription
null ist Bei der Anfrage wird das Felddescription
in der Entitätsklasse aufOptional.empty()
gesetzt.🎜-
Custom Handhabung: Sie können in der Controller-Methode auch benutzerdefinierten Code schreiben, um Nullparameter zu verarbeiten. Beispielsweise könnten Sie eine
BadRequestException
auslösen, wenn einer der erforderlichen Parameter null ist.🎜🎜
-
Custom Handhabung: Sie können in der Controller-Methode auch benutzerdefinierten Code schreiben, um Nullparameter zu verarbeiten. Beispielsweise könnten Sie eine
-
Standardwerte verwenden: Sie können Folgendes angeben Standardwerte für Nullfelder mithilfe der Annotation
Das obige ist der detaillierte Inhalt vonEinige Parameter in der Entitätsklasse, die mithilfe der @RequestBody-Annotation in Spring empfangen wurden, sind null. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen









