我们的团队正在开发RESTFul应用......我们正在讨论“最佳实践”方法。
对于类似过滤器的查询,是否应返回404状态代码响应?说我的GET URL是
... / 1 /服务/ startsWith / a.json
并返回在我的数据库中以A开头的所有值...但是如果没有找到“a”值,我应该只返回带有空json字符串的状态代码200吗?或状态码404。
谢谢!
答案 0 :(得分:15)
请参阅this问题,在我的回答更新中,我解决了您的问题。 特别是这一点,
我认为答案是否要 返回404取决于什么是 正在检索的资源。是 它是搜索的代表 结果,或者它是a的表示 产品?要知道这一点,你真的需要 看看领导的链接关系 我们到URL。
如果URL应该返回 产品表示然后是404 应该返回代码 不存在。如果URL返回搜索 结果然后它不应该返回404。
最终结果是URL是什么 看起来不是决定因素 因子。话虽如此,确实如此 使用查询字符串的约定 返回搜索结果,以便更多 直观地使用那种风格的URL 当你不想要返回404时。
答案 1 :(得分:3)
返回204代码可能更明智,这意味着“无内容”。这样会稍微提高效率,因为204状态不能包含任何文档内容,而且您可以检测代码而不必解析响应。