前言
上一篇讲了 ASP.NET Core – Handle Error on Razor Page
这一篇继续说说 Web API 的错误处理.
主要参考
Handle errors in ASP.NET Core web APIs
Model validation in ASP.NET Core MVC and Razor Pages
Development 期的错误处理
和 Razor Page 是一样的, 我们不需要做任何设置.
Production 期的错误处理
如果什么也不做, 它的返回是
404 返回
如果想 custom 处理的话, 可以使用和 Razor Page 一样的方式. 只是返回的不是 View 而是 JSON
另外, 如果 Web API 和 Razor Page 是在同一个 Application 里的话, 可以通过 app.UseWhen 判断 path starts with /api 分开来配置, 参考这篇
Model Validation Error
Web API 最需要 user-friendly 的地方就是这个 Model Validation Error 了.
ASP.NET Core 已经有一套
public class CreateDto { [Required] public string Name { get; set; } = ""; }
返回
具体它怎样 work, 如何 custom, 如何配合 FluentValidationAPI 那个以后我再写一篇来讲.