如果客户端向REST API发送不正确类型的数据,应该返回什么HTTP错误?
问题描述:
假设我有一个页面要求用户发送ID
,而ID
应该是Integer
。如果用户发送字母数字(或任何不适合Integer
格式的文件),我应该返回400 - Bad Request
还是406 - Not Acceptable
?如果客户端向REST API发送不正确类型的数据,应该返回什么HTTP错误?
答
如果请求具有不受支持的媒体类型,406将是正确的。
422可能是你要找的;见https://www.greenbytes.de/tech/webdav/rfc4918.html#STATUS_422。
答
由于REST API是基于请求的,因此400 - Bad request
似乎更加明确并适用于这种情况。
看看例如https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_errors以查看这些回复的含义。 –