Asp.net
ASP.NET Core API 中的 IActionResult vs ObjectResult vs JsonResult
在將返回結果
HTTP status codes和JSON結果的 Web API 中使用的最佳選擇是什麼?我一直在使用
IActionResult,但它始終是帶有 Web API 的 Web App。這次只有 Web API。我有以下簡單的方法,它給了我一個錯誤,內容如下:
無法將類型 Microsoft.AspNetCore.Mvc.OkObjectResult 隱式轉換為 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 內容類型。
關於該主題的一篇非常好的文章