【ASP.NET Core】Action返回结果(IActionResult、ActionResult<T>)
Action返回类型
特定类型
返回类型是特定类型,状态码是200,如果想返回其他的HTTP状态码类型,只能设置ResponseStatusCode,不优雅
public Person Person1([FromQuery] int id = 1)
{
if (id != 1)
{
Response.StatusCode = 404;
}
return new Person { ID = id };
}
IActionResult
public IActionResult Person2([FromQuery] int id = 1)
{
if (id!=1)
{
return NotFound();
}
return Ok(new Person { ID = 1 });
}
ActionResult
它支持返回从 ActionResult
派生的类型或返回特定类型。 ActionResult<T>
通过 IActionResult
类型可提供以下优势:
- 可排除
[ProducesResponseType]
特性的Type
属性 - 隐式强制转换运算符支持将
T
和ActionResult
均转换为ActionResult<T>
。 将T
转换为ObjectResult
,也就是将return new ObjectResult(T)
; 简化为return T
。
public ActionResult<Person> Person3([FromQuery] int id = 1)
{
if (id != 1)
{
return NotFound();
}
return new Person { ID = 1 };//可以省略OK()
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!