C# ASP.NET核心Web Api是否不希望返回状态代码
我正在尝试ASP.NETCore3.1,MVC 我对返回类型感到困惑 根据许多链接,例如我们设置我们的签名以包含返回类型 乙二醇C# ASP.NET核心Web Api是否不希望返回状态代码,c#,asp.net-core-webapi,C#,Asp.net Core Webapi,我正在尝试ASP.NETCore3.1,MVC 我对返回类型感到困惑 根据许多链接,例如我们设置我们的签名以包含返回类型 乙二醇 public异步任务GetTodoItem() { 返回新的ToDoItem(); } 历史上,我会返回一个状态码和返回对象,例如 public async Task<ActionResult> GetToDoItem() { return Ok(new ToDoItem()); } public异步任务GetToDoItem() { 返回Ok
public异步任务GetTodoItem()
{
返回新的ToDoItem();
}
历史上,我会返回一个状态码和返回对象,例如
public async Task<ActionResult> GetToDoItem()
{
return Ok(new ToDoItem());
}
public异步任务GetToDoItem()
{
返回Ok(newtodoItem());
}
我们真的不清楚为什么不再以这种方式返回状态码。我可能被WebApi和MVC控制器弄糊涂了,但是我已经读了更多的内容,我相信没有什么真正的区别(因为它只是一个暴露的端点)这个选择对于错误来说是一个很好的选择
public IActionResult Get()
if(username == password )
{
return Ok(username);
}else
{
return BadRequest("False");
}
这个选择对于错误来说是一个很好的选择
public IActionResult Get()
if(username == password )
{
return Ok(username);
}else
{
return BadRequest("False");
}
这里有关于控制器方法返回类型的各种文档:您的第一个示例之所以有效,是因为有一个从
T
到ActionResult
的隐式转换,并且操作结果的默认状态代码是200。@MartinCostello,我不确定您为什么以注释的形式发布。这是一个完美的答案。这里有关于控制器方法返回类型的各种文档:您的第一个示例之所以有效,是因为存在从T
到ActionResult
的隐式转换,并且操作结果的默认状态代码是200。@MartinCostello,我不确定您为什么以注释的形式发布。这是一个完美的答案。我喜欢这种方法,因为它更灵活。虽然严格来说,这是MVC而不是WebAPI。但实际上没有人真正在乎。我喜欢这种方法,因为它更灵活。虽然严格来说,这是MVC而不是WebAPI。但实际上没有人真正在乎。