Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET核心Web Api是否不希望返回状态代码_C#_Asp.net Core Webapi - Fatal编程技术网

C# ASP.NET核心Web Api是否不希望返回状态代码

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

我正在尝试ASP.NETCore3.1,MVC

我对返回类型感到困惑

根据许多链接,例如我们设置我们的签名以包含返回类型

乙二醇

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。但实际上没有人真正在乎。