我有路由/resource/{id}
的api控制器,其中id必须是数字。如果请求网址为/resource/abc
,那么我将获得404
HTTP响应。没关系,或者我应该在控制器内传递任何id,然后验证它并使用400
代码进行响应?
答案 0 :(得分:0)
如果你查看规范,你会发现400是最好的方法。 HTTP Status Codes
404表示目前没有具有该ID的资源。但由于ID必须是数字,而事实并非如此。这永远不会改变。
400表示语法不正确,更重要的是,客户端不应在不进行更改的情况下重复请求。
另外,请记住,您需要包含错误情况的说明。所以理想的情况是400状态代码,告诉客户它需要对请求进行更改,并解释告诉他们要做出哪些更改。