对错误资源ID的API响应

时间:2016-08-19 08:05:01

标签: rest

我有路由/resource/{id}的api控制器,其中id必须是数字。如果请求网址为/resource/abc,那么我将获得404 HTTP响应。没关系,或者我应该在控制器内传递任何id,然后验证它并使用400代码进行响应?

1 个答案:

答案 0 :(得分:0)

如果你查看规范,你会发现400是最好的方法。 HTTP Status Codes

404表示目前没有具有该ID的资源。但由于ID必须是数字,而事实并非如此。这永远不会改变。

400表示语法不正确,更重要的是,客户端不应在不进行更改的情况下重复请求。

另外,请记住,您需要包含错误情况的说明。所以理想的情况是400状态代码,告诉客户它需要对请求进行更改,并解释告诉他们要做出哪些更改。

相关问题