Ich entwickle eine angular
Anwendung mit spring
Backend. Ich habe eine FormGroup
wie folgt:Angular - undefined zu null Feldkonvertierung
myForm = new FormGroup({
fieldOne: new FormControl(),
fieldTwo: new FormControl(),
fieldThree: new FormControl()
});
, die wie folgt auf dem Objekt übereinstimmt:
export class MyClass{
firstField: number;
secondField: number;
thirdField: string;
}
Wenn ich das Formular abschicken ich etwas wie folgt aus:
this.firstField = myForm.value.fieldOne;
Das Problem ist, dass Wenn die Felder nicht festgelegt sind, sind sie undefined
. Dies verursacht ein Problem für den Back-End-Dienst, der das Objekt nicht deserialisieren kann, da es undefined
, aber null
nicht erwartet.
Dies könnte mein Problem lösen:
this.firstField = myForm.value.fieldOne ? myForm.value.fieldOne : null;
aber wenn ich viele Felder haben, es ist wirklich nicht so elegant. Dann fand ich folgende Arbeiten:
export class MyClass{
firstField: number = null;
secondField: number = null;
thirdField: string = null;
}
Es wäre perfekt. Meine Frage ist, seit ich javascript
neu bin: ist das richtig? Gibt es eine weitere bewährte Methode, um diese Art von Konvertierung durchzuführen? Wie lösen Sie normalerweise diese Art von Serialisierungsproblemen zwischen Frontend und Backend? Vielen Dank.