Ultimate ASP.NET CORE 6.0 Web API --- 读书笔记(6)

Getting Additional Resources

本文内容来自书籍: Marinko Spasojevic - Ultimate ASP.NET Core Web API - From Zero To Six-Figure Backend Developer (2nd edition)
需要本书和源码的小伙伴可以留下邮箱,有空看到会发送的

6.1.1

Servicerepository中获取的数据,有可能是null的,所以我们需要验证这个,如果没有,需要返回NotFound这个结果给客户端,但是不能将这些逻辑溢出到控制器

那么,我们可以自定义一些错误,然后在特定时候抛出,然后在全局错误处理中捕捉,并返回特定的结果给客户端

  1. 首先,在Entities中创建自定义错误,Exceptions/NotFoundException,错误要继承Exception

  2. 再创建一个特定的错误类型CompanyNotFoundException,这个继承NotFoundException

public sealed class CompanyNotFoundException : NotFoundException
{
    public CompanyNotFoundException(Guid companyId)
        : base($"The company with id: {companyId} doesn't exist in the database.")
    {
    }
}
  1. 最后,在之前的错误中间件里面,捕捉这个错误,并返回特定结果
posted @ 2022-06-16 19:24  huang1993  阅读(33)  评论(0)    收藏  举报