首页 > 解决方案 > 在 API 中使用 ActionResult 类方法

问题描述

我正在查看此网站中的代码示例,我注意到在一个端点中它使用 Ok() 返回类型,而在另一个端点中它只返回对象。什么时候应该使用 ActionResult 的方法,例如 Ok()、Created(),... 什么时候应该只返回对象?

在此处输入图像描述

标签: c#apiasp.net-core

解决方案


比较

return result;

return OK(result);

它们都将正常工作。当您使用时,return result;您实际上是在使用:

 public static implicit operator ActionResult<TValue>(TValue value);

并且 Ok 状态 (200) 是隐含的默认值。

所以这是一个风格问题,但我更喜欢更简单return result;的组合,ActionResult<T>因为它是类型安全的。当你不小心使用return Ok(21);时,你会得到一个运行时错误,而不是编译器错误。


推荐阅读