首页 > 解决方案 > .net Core Angular 6 API [FromBody] 发布时为空

问题描述

我的 API 有问题。

因此,当我在我的 IDE 中并通过ng servedotnet run运行我的代码时,一切正常,并且我在后端获得了值。但是当我发布我的代码并在我的服务器上尝试它时,FromBody var 为空。

同样在 Chrome 开发工具中,我看到了请求有效负载中的值。

为什么是 Oberservable?因为那是我的结果,我不知道其他方式。

损坏的 API

在 IDE 中工作,但在发布时不工作

我的打字稿

signupUser(user: User): Observable<boolean> {
  return this.http.post<boolean>('api/user/signupuser', user);
}

我的C#

[HttpPost]
public bool SignUpUser([FromBody]User user)
{
    return UserBusinessLayer.SignUpUser(user);
}

工作 API

在 IDE 中工作和发布时

打字稿

loginUser(email: string, password: string): Observable<boolean> {
  return this.http.post<boolean>('api/user/loginuser', {email: email, password: password});
}

C#

[HttpPost]
public bool LoginUser([FromBody]User user)
{
    return UserBusinessLayer.LoginUser(user);
}

标签: c#angularapihttpasp.net-core

解决方案


通过测试我发现了一个异常。

原来User对象总是null因为它不能被强制转换

我在对象中有一个电话号码存储为int. 但是这个数字有太多的数字。

所以我改用了 a string,现在一切正常。


推荐阅读