Angular HttpClient не возвращает целочисленное свойство со значением 0 - PullRequest
0 голосов
/ 10 февраля 2020

Поэтому, когда я вызываю. Net WebAPI, встроенный в C#, из приложения Nativescript + Angular + TypeScript, используя Angular HttpClient, по какой-то причине возвращается объект, который должен содержать целочисленное свойство 'UserState ', вообще не имеет этого свойства, если значение, возвращаемое из WebAPI, равно 0.

Если это значение равно 1 или более, свойство UserState отображается в объекте ответа HttpClient.

Я могу понять, что свойства NULL не отображаются в ответе JSON (так же, как свойство 'Name', приведенное ниже), но Integer 0 по-прежнему является допустимым значением свойства, кажется странным действуя как значение NULL.

Я провел довольно много поиска, но его сложно сформулировать в поисковом запросе, и я не нашел ничего, что относится к этому.

WebAPI - модель пользователя:

public class User
{
    public int Id { get; set; }
    public int UserState { get; set; }
    public string Name { get; set; }
}

WebAPI - System.Web.Http.IHttpActionResult> Контент (для простоты отображается в json)

{
    Id: 123456,
    UserState: 0,
    Name: null,
}

Приложение - интерфейс пользователя

export interface User {
    Id: number,
    UserState: number,
    Name: string,
}

Приложение - HttpClient Post

return this.http.post<User>(url, body, { headers: headers })

Приложение - Опубликовать ответ (если UserState равен 0)

{
    Id: 123456,
}

Приложение - Опубликовать ответ (если UserState равно 1)

{
    Id: 123456,
    UserState: 1,
}
...