本文内容来自书籍: Marinko Spasojevic - Ultimate ASP.NET Core Web API - From Zero To Six-Figure Backend Developer (2nd edition)
Service
从repository
中获取的数据,有可能是null的,所以我们需要验证这个,如果没有,需要返回NotFound
这个结果给客户端,但是不能将这些逻辑溢出到控制器
那么,我们可以自定义一些错误,然后在特定时候抛出,然后在全局错误处理中捕捉,并返回特定的结果给客户端
首先,在Entities
中创建自定义错误,Exceptions/NotFoundException
,错误要继承Exception
再创建一个特定的错误类型CompanyNotFoundException
,这个继承NotFoundException
public sealed class CompanyNotFoundException : NotFoundException { public CompanyNotFoundException(Guid companyId) : base($"The company with id: {companyId} doesn't exist in the database.") { } }