RESTful服务,如果验证失败,如何回应?

我有服务,需要一些实体,并需要保存/更新此实体:

http://myhost.com/rest/entity

我使用POST并提交JSON。 在服务内部,它检测到通过的实体不好。 无效,与不存在的客户一起进入的订单等

我应该如何回复? HttpCode.NotFound ? 还是其他人? 你如何回复这样的事情?


在我们的项目中,我们做这样的事情:

  • 将响应代码设置为HTTP 400错误请求
  • 将响应正文设置为以下JSON: {"message":"%extended error message here%"}
  • 但这真的很主观。

    另外我建议阅读这篇关于RESTfull错误处理的博客文章 - 它描述了许多可用的选项,因此您可以根据自己的喜好选择一些东西。


    422 WebDAV(RFC 4918)中定义的不可处理实体:

    422(不可处理的实体)状态码意味着服务器理解请求实体的内容类型(因此415(不支持的媒体类型)状态码不合适),并且请求实体的语法是正确的(因此400(错误请求)状态码不合适),但无法处理包含的说明。 例如,如果XML请求体包含格式正确(即,语法正确),但语义错误的XML指令,则可能会出现此错误情况。


    我认为你应该选择一个客户端错误代码。 400 Bad Request403 Forbidden可以是一个好的开始

    链接地址: http://www.djcxy.com/p/45393.html

    上一篇: RESTful service, how to respond if validation failed?

    下一篇: javascript addEventListener memory