哪一层应该负责在asp.net核心web api中抛出异常



如果没有检索到数据,存储库模式是否应该引发错误?我不相信它应该或应该引入服务层

  1. 查看

  2. 控制器

  3. 存储库模式

  4. EF核心

    public async Task<Customer> GetCustomerById(int id)
    {
    var result = await _dataContext.Customers.FirstOrDefaultAsync(a => a.Id == id);
    if (result == null)
    {
    throw new KeyNotFoundException("Customer Not Found");
    }
    return result;
    }
    

在您的情况下,不需要抛出异常,只需将结果集传递为null,控制器将检查结果集是否为null,它将返回NotFound响应,通知客户端请求的资源不存在。

最新更新