c# - 当 API 出现问题时返回错误消息
问题描述
当 API 出现问题时,我试图返回一条错误消息,我已经为来自 API 的所有请求执行了此操作,但是对于特定错误,显示所有用户的操作是IEnumerable
.
.../API/控制器/用户控制器:
...
[HttpGet]
public IEnumerable<User> GetAll()
{
try
{
return userRepository.GetAll();
}
catch (Exception ex)
{
return StatusCode(500,ex.InnerException.Message);
}
}
...
我return StatusCode(500,ex.InnerException.Message);
显示此错误:
无法将类型“Microsoft.AspNetCore.Mvc.ObjectResult”隐式转换为“System.Collections.Generic.IEnumerable”。存在显式转换(您是否缺少演员表?)
我该如何解决这个问题?
解决方案
你应该让你的控制器返回IActionResult
而不是一个IEnumerable<User>
andreturn Ok(userRepository.GetAll())
而不是 just userRepository.GetAll()
。
推荐阅读
- distributed-database - 为什么启动 PD 时会显示 `etcd cluster ID mismatch` 消息?
- javascript - 蓝图/反应:滑块的自定义标签
- c - pthread_join() 后指向 int 的指针导致崩溃
- c# - 在顶部显示最新列表
- ms-access - 对象无效或不再设置
- typescript - 如何编写 Typescript d.ts 文件来扩展 @types/d3
- python - Python 附加文件
- python - 查找特定类的实例
- twitter-bootstrap - Bootstrap 4 - 我可以根据分辨率显示边框吗
- rust - BigUint 和“无法移出借用内容”错误