Mic*_*345 6 http http-status-codes http-status-code-400 http-status-code-422
有人可以澄清以下情况下我应该期待什么状态代码吗?例如,我正在发送具有以下正文格式的 POST 请求:
\n\n{\n "id": 321,\n "username": "tombrown",\n "email": "tombrown@gmail.com",\n "password": "qwerty123",\n "activated": true \n}\nRun Code Online (Sandbox Code Playgroud)\n\n所以问题是:
\n\n1)如果我指定错误类型的数据,例如“id”:\xe2\x80\x9ctwoone\xe2\x80\x9d而不是int,服务器是否应该返回400,“activated”:\xe2\x80\x9cyes\xe2 \x80\x9d 而不是布尔值等。或者服务器应该在这里返回 422?
\n\n2) \xe2\x80\x9cid\xe2\x80\x9d 值应该是 int,但实际上它是 long int,例如 9223372036854774700。
\n\n3)正文中缺少某些字段,例如我尝试发送:
\n\n{\n "id": 321,\n "username": "tombrown",\n "activated": true \n}\nRun Code Online (Sandbox Code Playgroud)\n\n这些示例是否会导致 400、422 或其他一些选项?什么样的反应应该是正确的?
\ncas*_*lin 11
如果 JSON 在语法上无效,则返回400。如果 JSON语法有效但内容无效,则返回422以指示服务器无法处理该请求实体。
请参阅RFC 4918中的以下引用(根据您的情况,只需在显示XML时阅读JSON):
(不可处理的实体)状态代码
422意味着服务器了解请求实体的内容类型(因此415(不支持的媒体类型)状态代码不合适),并且请求实体的语法是正确的(因此400(错误请求)状态代码不合适)但无法处理所包含的指令。例如,如果 XML 请求正文包含格式正确(即语法正确)但语义错误的 XML 指令,则可能会出现此错误情况。
| 归档时间: |
|
| 查看次数: |
9292 次 |
| 最近记录: |