Как обрабатывать типы данных, отправленные из Angular в WebAPI? - PullRequest
0 голосов
/ 06 мая 2018

Я сталкиваюсь с этой проблемой, когда мой ресурс API (View Model) имеет типы данных, такие как int или long. В моем приложении Angular я использую reactive forms, и после его инициализации все элементы управления принимают значение null.

т.е.

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

и вывод JSON

{ "patientFileId": null}

в моем контроллере API это 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 для всех своих свойств в моей модели ресурсов и parse вниз по течению до сохранения данных?

Спасибо.

1 Ответ

0 голосов
/ 06 мая 2018

Используйте обнуляемые типы, т.е. измените свои свойства, как показано ниже

public long? PatientFileId {get; set;}

Ссылки

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

Как я могу разрешить принятие значений NULL моей моделью WebAPI?

Кроме того, тип Nullable имеет такие свойства, как hasvalue и т. Д., Поэтому вы должны иметь возможность определить, передано ли значение null или фактическое значение в вашем API, поэтому следует решить вашу проблему.

Надеюсь, это поможет.

...