在.NET中构建REST Web服务时,将System.ArgumentNullException和System.ArgumentException映射到HTTP状态代码的最"RESTful"方式是什么?我的第一个猜测是使用HTTP 400/Bad Request和适当的描述.
将异常映射到HTTP状态代码时,建议的最佳做法是什么?
通常,4xx状态代码告诉客户端请求失败但如果请求我被修改则可能成功.5xx代码告知客户客户端没有影响的问题.
因此,您必须做出的第一个区别是4xx和5xx代码,即告诉客户端是否应该重试.
如果请求确实是语法错误,不完整,矛盾或基本上错误,则应使用HTTP 400"错误请求".另外,它可能是4xx范围内的有效默认状态,如果没有其他状态似乎合适,并且您认为客户端只需要修改请求即可成功.