在REST中是否显式路径变量



是否建议在REST中使用显式路径变量,或者在资源中不使用?例句:

GET http://myhost.com/customers/123/analyses/456/reports/789

GET http://myhost.com/customers/123/456/789

两种选择都是可以的,只要它从应用程序的角度来看是有意义的,并且您正在描述资源(根据Richardson成熟度模型的第2级)。

我个人更喜欢第一个选项,因为它更容易读懂。

REST没有任何具体的说明,但是为了可读性,使用显式变量被认为是更好的选择。话虽如此,如果可以避免的话,您可能希望考虑不嵌套到三层。

从我所读到的,你应该这样做:

From customer atGET http://myhost.com/customers/123将有链接到他/她的报告

GET http://myhost.com/analyses?customer=123

返回来自

的数据
GET http://myhost.com/customers/analyses/456  

它的数据中将有指向子报告的链接,如

GET http://myhost.com/reports?analysis=456 

将返回您的报告

GET http://myhost.com/report/789

这是部分基于这个链接:RESTful URL设计搜索和阅读菲尔丁论文。

最新更新