IActionResult 返回类型一览

IActionResult 是 ASP.NET Core 控制器中用于返回 HTTP 响应结果的一个接口。它提供了多种类型的响应结果,可以用来处理各种不同的场景。以下是 IActionResult 可以返回的一些常见类型及其含义:

1. OkResult

  • 用途:返回一个 HTTP 200 OK 状态码。
  • 示例
    return Ok();
    

2. JsonResult

  • 用途:返回 JSON 格式的响应内容。
  • 示例
    var data = new { Message = "Hello, World!" };
    return Json(data);
    

3. ContentResult

  • 用途:返回任意格式的文本内容。
  • 示例
    return Content("Hello, World!");
    

4. FileResult

  • 用途:返回文件内容。

  • 子类

    • FileContentResult:返回文件二进制内容。
    • FileStreamResult:返回文件流。
    • PhysicalFileResult:返回物理路径上的文件。
  • 示例

    byte[] fileBytes = System.IO.File.ReadAllBytes("path/to/file.txt");
    return File(fileBytes, "text/plain", "file.txt");
    

5. RedirectResult

  • 用途:返回一个重定向响应。
  • 示例
    return Redirect("/Home/Index");
    

6. RedirectToActionResult

  • 用途:重定向到另一个动作。
  • 示例
    return RedirectToAction("Index", "Home");
    

7. RedirectToRouteResult

  • 用途:根据路由值重定向。
  • 示例
    return RedirectToRoute(new { controller = "Home", action = "Index" });
    

8. ViewResult

  • 用途:返回一个视图。
  • 示例
    return View(model);
    

9. NotFoundResult

  • 用途:返回一个 HTTP 404 Not Found 状态码。
  • 示例
    return NotFound();
    

10. BadRequestResult

  • 用途:返回一个 HTTP 400 Bad Request 状态码。

  • 示例

    return BadRequest("Invalid request.");
    

11. NoContentResult

  • 用途:返回一个 HTTP 204 No Content 状态码。
  • 示例
    return NoContent();
    

12. CreatedResult

  • 用途:返回一个 HTTP 201 Created 状态码。
  • 示例
    return CreatedAtAction("Details", new { id = item.Id }, item);
    

13. AcceptedAtActionResult

  • 用途:返回一个 HTTP 202 Accepted 状态码,并重定向到另一个动作。
  • 示例
    return AcceptedAtAction("Index", new { id = item.Id }, item);
    

14. AcceptedAtRouteResult

  • 用途:返回一个 HTTP 202 Accepted 状态码,并根据路由值重定向。
  • 示例
    return AcceptedAtRoute("GetItem", new { id = item.Id }, item);
    

15. StatusCodeResult

  • 用途:返回自定义的 HTTP 状态码。
  • 示例
    return StatusCode(403, "Access Denied.");
    

总结

IActionResult 可以返回多种结果类型,每种类型都有其特定的用途。使用 IActionResult 可以让你的控制器动作更加灵活,能够应对不同的场景需求。无论你是需要返回 JSON 数据、文本内容、文件、视图还是重定向到其他页面,IActionResult 都能够提供适当的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

听我俩天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值