如果路径参数无效,应该使用什么HTTP状态响应代码?

问题描述

例如,如果我有此端点GET /students/123/subjects来回应学生123所修读的科目。 但是学生123不存在

什么是严格的Http状态代码? 204、400、403、404、422?

解决方法

您的问题的标题与实际问题不完全相同。

如果不存在具有某些 k ID的学生,则意味着找不到具有该ID的学生 ,您应该返回404 Not Found。 / p>

但是,未找到无效参数是不同的。您的示例并未显示path参数本身是无效的,而是显示了带有提供的参数的实体未找到

如果参数无效,请使用400 Bad Request,如果请求正文格式错误,请使用422 Unprocessable Entity

,

最常见的响应是 404。但如果您愿意,您也可以使用 204 NoContent。重要的是你如何记录你的 API 参考。