Поэтому, когда я вызываю. 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,
}