在这里工作时,我们有一个为业务合作伙伴提供 XML 提要的盒子。通过指定查询字符串参数和值来自定义我们的提要请求。其中一些参数是必需的,但许多不是。
例如,我们要求所有请求都指定一个 GUID 来识别合作伙伴,并且请求可以是“获取最新”或“搜索”操作:
对于搜索:http://services.null.ext/?id=[GUID]&q=[搜索关键字]
类别中的最新数据:http://services.null.ext/?id=[GUID]&category=[ ID]
为这些参数构建 RESTful URL 方案很容易:
搜索:http://services.null.ext/[GUID]/search/[Keywords]
最新:http://services.null.ext/[GUID]/latest/category/[ID]
但是我们应该如何处理我们拥有的十几个可选参数呢?其中许多是相互排斥的,并且许多是组合的。很快,可能路径的数量变得极其复杂。
对于如何将具有复杂查询字符串的 URL 映射到更友好的 /REST/ful/paths,有哪些推荐做法?
(我对约定、方案、模式等感兴趣。不是在 Web 服务器或框架中实现 URL 重写的特定技术。)