ASP.NET Core API 中的 IActionResult 与 ObjectResult 与 JsonResult
IActionResult vs ObjectResult vs JsonResult in ASP.NET Core API
在 Web API 中使用什么是 return 同时 HTTP status codes
和 JSON
结果的最佳选择?
我一直使用 IActionResult
,但它始终是带有 Web API 的 Web 应用程序。这次 仅 Web API.
我有以下简单的方法,它给我一个错误:
Cannot implicitly convert type Microsoft.AspNetCore.Mvc.OkObjectResult
to System.Threading.Tasks.Task Microsoft.AspNetCore.Mvc.IActionResult
[HttpGet]
public Task<IActionResult> Get()
{
return Ok();
}
Return最符合请求需要的对象。至于动作的方法定义,用 IActionResult
定义它以允许灵活地使用抽象而不是紧密耦合的具体化。
[HttpGet]
public IActionResult Get() {
return Ok();
}
以上操作在调用时会return 200 OK 响应。
[HttpGet]
public IActionResult Get() {
var model = SomeMethod();
return Ok(model);
}
上面的内容会 return 200 OK 响应。不同之处在于它允许内容协商,因为它没有具体限制为 JSON.
[HttpGet]
public IActionResult Get() {
var model = SomeMethod();
return Json(model);
}
以上只会return Json内容类型。
一篇关于该主题的非常好的文章
在 Web API 中使用什么是 return 同时 HTTP status codes
和 JSON
结果的最佳选择?
我一直使用 IActionResult
,但它始终是带有 Web API 的 Web 应用程序。这次 仅 Web API.
我有以下简单的方法,它给我一个错误:
Cannot implicitly convert type Microsoft.AspNetCore.Mvc.OkObjectResult to System.Threading.Tasks.Task Microsoft.AspNetCore.Mvc.IActionResult
[HttpGet]
public Task<IActionResult> Get()
{
return Ok();
}
Return最符合请求需要的对象。至于动作的方法定义,用 IActionResult
定义它以允许灵活地使用抽象而不是紧密耦合的具体化。
[HttpGet]
public IActionResult Get() {
return Ok();
}
以上操作在调用时会return 200 OK 响应。
[HttpGet]
public IActionResult Get() {
var model = SomeMethod();
return Ok(model);
}
上面的内容会 return 200 OK 响应。不同之处在于它允许内容协商,因为它没有具体限制为 JSON.
[HttpGet]
public IActionResult Get() {
var model = SomeMethod();
return Json(model);
}
以上只会return Json内容类型。
一篇关于该主题的非常好的文章