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非常感谢。这很有帮助。