当前位置:  开发笔记 > 程序员 > 正文

具有任意数量过滤条件的搜索服务的RESTful URL

如何解决《具有任意数量过滤条件的搜索服务的RESTfulURL》经验,为你挑选了1个好方法。

我想构建一个RESTful Web服务,实现生物数据数据库的搜索界面.

典型的搜索请求可能涉及数据的十几个属性.例如,按科学名称搜索,将搜索限制在小于100米的水深处.我的第一直觉是拥有查询字符串中的所有属性,例如?searchType = sciname&sciname = mola + mola&maxdepth = 100&mindepth = 0

但是,查询字符串被认为是非RESTful的,请参阅http://rest.blueoxen.net/cgi-bin/wiki.pl?QueryStringsConsideredHarmful

我已经看过一些早期的SO讨论,例如用于搜索的RESTful URL设计, 我仍然不清楚这一点,所以我的问题:

是否存在可接受的搜索服务RESTful URL标准或模式,其中可能存在任意数量的过滤值?



1> yfeldblum..:

在Web的REST风格中:

request-uri 的路径组件标识特定资源.

request-uri 的query-string组件标识在呈现该资源时完成的任何特定过滤器或更改.

接受报头标识的特定内容类型,其中给定的资源,过滤符合规定,应该被呈现.

接受语言报头标识该给定资源,过滤符合规定,应该被呈现的特定语言.

所以回答你的问题:

GET /species?searchType=sciname&sciname=mola+mola&maxdepth=100&mindepth=0

非常合适.

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有