如何处理从Angular发布到WebAPI的数据类型?

时间:2018-05-06 04:26:15

标签: angular asp.net-web-api

我遇到了这个问题,我的API资源(View Model)的数据类型如XHR.abort() int。在我的Angular App中,我使用的是long,在初始化之后,所有控件的值均为reactive forms

null

,JSON输出

this.patientRestrationForm = this.formBuilder.group({
      patientFileId: new FormControl(null),.......

在我的API控制器中,此{ "patientFileId": null} 被识别为null,因此模型无法通过验证检查,

string

这是资源模型的快照,

if (!ModelState.IsValid) {
    return StatusCode (400, ModelState);
};

此处还有一个问题public class SavePatientsRegistryResource { [Display (Name = "Patient File Id")] public long PatientFileId { get; set; } ...... } ModelState以外的datatypes错误始终为空。

我在这里缺少什么?,

在保存数据之前,我应该在资源模型和string下游的所有属性中使用string datatype吗?

谢谢。

1 个答案:

答案 0 :(得分:1)

使用可空类型,即按以下方式更改您的属性

{{1}}

参考

https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/nullable-types/

How can I allow nulls to be accepted by my WebAPI model?

进一步的Nullable类型具有hasvalue等属性,因此您应该能够识别是否传递了null或API上的实际值,以便解决您的问题。

希望这有帮助。