如果客户端向REST API发送不正确类型的数据,应该返回什么HTTP错误?

如果客户端向REST API发送不正确类型的数据,应该返回什么HTTP错误?

问题描述:

假设我有一个页面要求用户发送ID,而ID应该是Integer。如果用户发送字母数字(或任何不适合Integer格式的文件),我应该返回400 - Bad Request还是406 - Not Acceptable如果客户端向REST API发送不正确类型的数据,应该返回什么HTTP错误?

+0

看看例如https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_errors以查看这些回复的含义。 –

如果请求具有不受支持的媒体类型,406将是正确的。

422可能是你要找的;见https://www.greenbytes.de/tech/webdav/rfc4918.html#STATUS_422

由于REST API是基于请求的,因此400 - Bad request似乎更加明确并适用于这种情况。