C# 如何在Angular中捕获ActionResult Api响应?

C# 如何在Angular中捕获ActionResult Api响应?,c#,angular,C#,Angular,我的用户控制器中有以下方法: [HttpPost] 公共异步任务创建(用户) { var userCreated=userService.register(user);//返回true或false 如果(用户创建) { 返回Ok(); } 其他的 { 返回BadRequest(“无法创建用户”); } } 然后,应在调用服务时捕获此方法: onSubmit(用户:用户):void{ this.userService.registerUser(用户).subscribe((响应)=>{ 控制台。

我的用户控制器中有以下方法:

[HttpPost]
公共异步任务创建(用户)
{
var userCreated=userService.register(user);//返回true或false
如果(用户创建)
{
返回Ok();
}
其他的
{
返回BadRequest(“无法创建用户”);
}
}
然后,应在调用服务时捕获此方法:

onSubmit(用户:用户):void{
this.userService.registerUser(用户).subscribe((响应)=>{
控制台。警告(响应);
});
}
注册URL方法:

registerUser(用户:用户):可观察{
const-httpOptions={headers:newhttpheaders({'Content-Type':'application/json'})};
返回this.http.post(environment.userUrl,user,httpOptions);
}

不幸的是,控制台写入null。我遗漏了什么吗?我想捕获控制器中缺少的状态是
OK
还是
BadRequest

,以返回响应值:

[HttpPost]
public async Task<ActionResult<bool>> Create(User user)
{
    var userCreated = userService.register(user); // returns true or false

    if (userCreated)
    {
        return Ok(userCreated); // <= HERE
    }
    else
    {
        return BadRequest("Could not create user.");
    }
}
PS:
Ok()
在C#中表示返回一个代码为200的响应。 另一方面,
BadRequest()。在您的情况下,我认为后端的代码应该是这样的:

[HttpPost]
public async Task<ActionResult<bool>> Create(User user)
{
    var userCreated = userService.register(user); // returns true or false
    return Ok(userCreated);
}
[HttpPost]
公共异步任务创建(用户)
{
var userCreated=userService.register(user);//返回true或false
返回Ok(用户创建);
}

在控制器中,您无法返回响应值:

[HttpPost]
public async Task<ActionResult<bool>> Create(User user)
{
    var userCreated = userService.register(user); // returns true or false

    if (userCreated)
    {
        return Ok(userCreated); // <= HERE
    }
    else
    {
        return BadRequest("Could not create user.");
    }
}
PS:
Ok()
在C#中表示返回一个代码为200的响应。 另一方面,
BadRequest()。在您的情况下,我认为后端的代码应该是这样的:

[HttpPost]
public async Task<ActionResult<bool>> Create(User user)
{
    var userCreated = userService.register(user); // returns true or false
    return Ok(userCreated);
}
[HttpPost]
公共异步任务创建(用户)
{
var userCreated=userService.register(user);//返回true或false
返回Ok(用户创建);
}

他可能希望将创建的用户返回到客户端,而不是标志。另外,
BadRequest()。无论他想要什么,都必须在里面
OK()
:)@StPaulis非常感谢。这很有帮助。他可能希望将创建的用户返回到客户端,而不是标志。另外,
BadRequest()。无论他想要什么,都必须在里面
OK()
:)@StPaulis非常感谢。这很有帮助。