我已经为自己创建了一个标准的 asp.net web api 项目,并且上面有一个帖子。
该帖子基本上会将一些值插入数据库,但在此之前,我需要对备用数据库进行许多不同的检查,如果没有检查出任何内容,我想返回带有非 200 http 状态代码的客户端,但是哪个我应该使用吗?
推荐的返回状态码是什么?我还想返回一些文本,其中包含可以识别错误所在的附加信息。
或者是否建议返回 200 和一个额外的 JSON 有效负载来识别是否存在问题以及问题是什么
有人有例子吗??
提前致谢
我已经为自己创建了一个标准的 asp.net web api 项目,并且上面有一个帖子。
该帖子基本上会将一些值插入数据库,但在此之前,我需要对备用数据库进行许多不同的检查,如果没有检查出任何内容,我想返回带有非 200 http 状态代码的客户端,但是哪个我应该使用吗?
推荐的返回状态码是什么?我还想返回一些文本,其中包含可以识别错误所在的附加信息。
或者是否建议返回 200 和一个额外的 JSON 有效负载来识别是否存在问题以及问题是什么
有人有例子吗??
提前致谢
如果您正在执行的是验证逻辑并且此验证逻辑由于某种原因失败,则可以使用 400 BadRequest。就附加信息而言,您可能会在正文中返回一些信息,例如作为 JSON 有效负载:
{
"errorMessage":"Validation failed because user doesn't exist in alternative database"
}
另一方面,如果您尝试更新不存在的实体,您也可以发送 404 状态代码。
除了 Darin 在这个线程上所说的之外,这里是关于状态代码的一个很好的参考。我还发现这篇文章在处理 ASP.NET WebAPI 错误方面很有价值。