因此,当我使用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,
}
在订阅中进行比较时,请确保使用"=="运算符而不是"="运算符。