首页 > 解决方案 > 当 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”。存在显式转换(您是否缺少演员表?)

我该如何解决这个问题?

标签: c#asp.net-core

解决方案


你应该让你的控制器返回IActionResult而不是一个IEnumerable<User>andreturn Ok(userRepository.GetAll())而不是 just userRepository.GetAll()


推荐阅读