提问者:小点点

在REST应用程序中对GET请求返回验证错误(400)是否正确?


我正在构建REST应用程序,我需要通过GET参数实现过滤。例如,筛选特定类型的对象:

example.com/api/objects/?type=some_type

问题:

如果输入的类型不正确,应返回哪个 REST endpoint?

示例:endpoint接收请求

example.com/api/objects/?type=other_type

并且other_type不允许对象的类型。

我必须返回什么错误代码?

(我的版本:

400-因为输入无效,但很奇怪-在GET请求上返回400错误。

422 -我不确定这是逻辑错误

返回空响应。)


共1个答案

匿名用户

HTTP 400错误请求是正确的,但是如果您响应如下正确的错误消息,它将非常有用

{
   "code": <your error code>,
   "validation": 

   {
      "exception": "java.lang.IllegalArgumentException: Error parsing type"
    },
   "message": "Validation faild"
    "request" : "example.com/api/objects/?type=other_type"
}