在Restful API中搜索与过滤

时间:2017-12-20 11:17:01

标签: rest api restful-architecture api-design

我已经开始阅读有关API设计的一些参考资料(亚马逊,微软,Github,Apigee ..),我遇到了这句话:

  

“更好的API必须实现搜索和过滤功能。”   (类似的东西..)

我没弄明白:

在Restful上下文中过滤和搜索之间有什么区别?

亲切

2 个答案:

答案 0 :(得分:3)

搜索是关于API使用者传递的查询的全部内容。类似于在用户上下文中传递 ?q=rafael 以查找与该名称匹配的所有用户。另一方面,过滤是基于来自资源的其他属性缩小这些结果。类似 ?q=rafael&age=23

答案 1 :(得分:0)

回答这个问题可能为时已晚,但搜索与过滤器有所不同。过滤器用于缩小具有精确匹配的结果集,而搜索使用其权重。 例如,如果我想在印度找到用户,则可以使用国家/地区过滤器并缩小结果集的范围。但同时我想查看此结果集中有多少拉斐尔。 搜索可能会用Rafaela,rafaelb或Rafael做出响应,但过滤器将仍然是确切的国家Indaa,而不是Indiaa或Indiab。

这是两者之间的基本区别。