在 ASP.NET Web API 中返回错误的最佳实践
在处理 ASP.NET Web API 中的错误时,有两个主要方法处理方式:立即返回错误或者累积错误集中返回。本文探讨了每种方法的优缺点,并提供了推荐的最佳实践。
1.立即返回错误
在第一种方法中,使用 HttpResponseExceptions 立即返回错误。这适用于以下情况:
示例:
public void Post(Customer customer) { if (string.IsNullOrEmpty(customer.Name)) { throw new HttpResponseException("Customer Name cannot be empty", HttpStatusCode.BadRequest); } if (customer.Accounts.Count == 0) { throw new HttpResponseException("Customer does not have any account", HttpStatusCode.BadRequest); } }
2.累积并发回错误
在第二种方法中,错误会累积并在操作结束时集中返回。在以下情况下建议这样做:
示例:
public void Post(Customer customer) { List<string> errors = new List<string>(); if (string.IsNullOrEmpty(customer.Name)) { errors.Add("Customer Name cannot be empty"); } if (customer.Accounts.Count == 0) { errors.Add("Customer does not have any account"); } var responseMessage = new HttpResponseMessage<List<string>>(errors, HttpStatusCode.BadRequest); throw new HttpResponseException(responseMessage); }
最佳实践
虽然两种方法都有其优点,推荐的最佳实践是立即返回错误。这:
但是,对于非致命错误是更大的验证或处理阶段的一部分,累积错误并将它们集中返回可能会更多
更新
本文随着时间的推移不断更新,包含博客文章的见解和最佳实践的变化:
以上是ASP.NET Web API 应如何返回错误:立即返回还是集体返回?的详细内容。更多信息请关注PHP中文网其他相关文章!