REST:映射404 HTTP状态代码

时间:2010-12-02 22:35:40

标签: web-services rest restlet

我们的团队正在开发RESTFul应用......我们正在讨论“最佳实践”方法。

对于类似过滤器的查询,是否应返回404状态代码响应?说我的GET URL是

... / 1 /服务/ startsWith / a.json

并返回在我的数据库中以A开头的所有值...但是如果没有找到“a”值,我应该只返回带有空json字符串的状态代码200吗?或状态码404。

谢谢!

2 个答案:

答案 0 :(得分:15)

请参阅this问题,在我的回答更新中,我解决了您的问题。 特别是这一点,

  

我认为答案是否要   返回404取决于什么是   正在检索的资源。是   它是搜索的代表   结果,或者它是a的表示   产品?要知道这一点,你真的需要   看看领导的链接关系   我们到URL。

     

如果URL应该返回   产品表示然后是404   应该返回代码   不存在。如果URL返回搜索   结果然后它不应该返回404。

     

最终结果是URL是什么   看起来不是决定因素   因子。话虽如此,确实如此   使用查询字符串的约定   返回搜索结果,以便更多   直观地使用那种风格的URL   当你不想要返回404时。

答案 1 :(得分:3)

返回204代码可能更明智,这意味着“无内容”。这样会稍微提高效率,因为204状态不能包含任何文档内容,而且您可以检测代码而不必解析响应。