Angular HttpClient 不返回值为 0 的整数属性



因此,当我使用Angular HttpClient从Nativescript + Angular + TypeScript应用程序调用用C#构建的.Net WebAPI时,由于某种原因,返回的对象应该包含一个整数属性'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,
}

应用程序 - http客户端帖子

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

应用 - 发布响应(如果用户状态为 0(

{
Id: 123456,
}

应用 - 发布响应(如果用户状态为 1(

{
Id: 123456,
UserState: 1,
}

在订阅中进行比较时,请确保使用"=="运算符而不是"="运算符。

最新更新