RESTFUL 网址格式

RESTFUL formatting of URLs

一个简单的问题,就最佳实践而言,像这样格式化我的 URL 是否更好:

http://www.example.com/search?query=hello&page=1

或者像这样:

http://www.example.com/search/hello/page/1

请您提供一个合理的选择理由。

第一种方式不仅实用,而且能让人理解 name/value 对是什么。当然,您可以进入配置和字符串操作并使您的 URL 看起来像第二个示例并且仍然可以运行,但是从可读性和易用性来看,第一个是最好的。

第一个适合你想要 "filter" 你的结果的情况,如果它变得有点太复杂,就像这个例子:

汽车com/audi/sedan/a/4/black/manual.......

这将花费如此长的时间和复杂的时间,结果将是一场噩梦,但这会更好:

汽车.com/mercedes/amg?color=white&transmission=manual

第二种方式就像将其视为“文件夹”结构:

社交媒体。com/shares/1/comments/1/page/2

我很确定你明白了。

p.s。如果您将 API 提供给对此一无所知的全新客户,那么第一个也更容易理解,但我建议您也有一个描述参数的 API 文档以及相关的可能的其他电话。这样,您的 url 格式将更加清晰,客户将不会费力解决 url.

中的参数