我有一个服务,需要接收一个实体并保存/更新该实体:
http://myhost.com/rest/entity
我使用POST方法并提交JSON数据。在服务端检测到传递的实体不好,比如无效的订单或者指定了不存在的客户。
我应该如何回复?使用HttpCode.NotFound
还是其他的?你对这种情况要如何回复呢?
422不可处理的实体,由WebDAV(RFC 4918)定义:
422(不可处理的实体)状态码表示服务器理解请求实体的内容类型(因此,415(不支持的媒体类型)状态码不合适),并且请求实体的语法正确(因此,400(错误请求)状态码不合适),但无法处理包含的指令。例如,如果XML请求正文包含格式正确(即语法正确),但语义上错误的XML指令,则可能会发生此错误条件。
{"message":"%此处添加详细错误信息%"}
我认为你应该选择一个客户端错误代码。400错误请求或403禁止可能是个好的起点。