在我们最新的关于实用RESTAPI设计的帖子中,让我们来谈谈搜索?
而一个简单的搜索可以建模为一个足智多谋的API(例如dogs/?q=红色),跨多个资源进行更复杂的搜索需要不同的设计。
如果您阅读了前面提到的API设计技巧,即在结果没有从数据库返回资源时使用动词而不是名词,那么这听起来很熟悉-结果是一些操作或计算。
如果您想跨资源进行全局搜索,我建议你遵循谷歌模式
全球搜索
/搜索?q=fluffy+fur
这里,search是动词?q表示查询。
范围搜索
要在搜索中添加范围,可以在搜索范围前加上前缀。例如,在资源ID为5678的狗中搜索
/owners/5678/dogs/search?q=fluffy+fur
格式化结果
对于搜索或任何面向操作(非资源)的响应,您可以使用以下格式进行前置:
/search.xml?q=毛绒+毛皮
本文地址: /shujuku/21507.html
版权声明:本文发布于收集站云 内容均来源于互联网 如有侵权联系删除