IActionResult vs ObjectResult vs JsonResult in ASP.NET Core



在返回HTTP status codesJSON结果的 Web API 中使用的最佳选项是什么?

我一直使用IActionResult但它始终是一个带有Web API的Web应用程序。这次只有 Web API

我有以下简单的方法,它给我一个错误,内容如下:

无法隐式转换类型 Microsoft.AspNetCore.Mvc.OkObjectResult to System.Threading.Tasks.Task Microsoft.AspNetCore.Mvc.IActionResult

[HttpGet]
public Task<IActionResult> Get()
{
   return Ok();
}

返回最适合请求需要的对象。至于操作的方法定义,请使用IActionResult定义它,以允许灵活地使用抽象作为紧密耦合的凝结

[HttpGet]
public IActionResult Get() {
   return Ok();
}

上述操作将在调用时返回 200 OK 响应。

[HttpGet]
public IActionResult Get() {
   var model = SomeMethod();
   return Ok(model);
}

以上将返回 200 OK 响应和内容。不同之处在于它允许内容协商,因为它不专门限于 JSON。

[HttpGet]
public IActionResult Get() {
   var model = SomeMethod();
   return Json(model);
}

以上将仅返回 Json 内容类型。

一篇关于这个主题的非常好的文章

Asp.Net 核心行动结果说明

相关内容

  • 没有找到相关文章

最新更新