在this REST教程网站上
如果有的话,是否适合放置像
这样的东西http://dev.m.gatech.edu/developer/USER_NAME/api/WIDGET_NAME/test?query=someparam
而不是
http://dev.m.gatech.edu/developer/USER_NAME/api/WIDGET_NAME/test/someparam
或
http://dev.m.gatech.edu/developer/USER_NAME/api/WIDGET_NAME/test/someparam/var1/param/var2/param
我在SO上看过各种各样的事情。
答案 0 :(得分:3)
您执行GET请求并需要传递某些参数的所有情况都应采用?param = value。
的形式。不,他们没有错。从该网站获取此示例首先是第一个链接,他们错了吗?男人,这些天你能相信吗:)。
GET http://www.example.com/customers/33245/orders
此处,customers
,33245
和orders
不是查询参数,它们是资源端点,或者是 uri节点,因为它们在您的restapitutorial上调用它们。 COM
如果你这样做
GET http://www.example.com/customers
您获得了所有客户
GET http://www.example.com/customers/33245
您获得了客户33245
GET http://www.example.com/customers/33245/orders
您获得客户33245的订单
它们都返回0或更多资源。如果您要将查询应用于例如第一个,并且您希望以 John 作为名字获取所有客户,那么您将执行此操作
GET http://www.example.com/customers?firstname=John
在您问题的最后一个示例中,它将被写为GET http://www.example.com/customers/firstname/john
,而在宁静方面则为错误。没有客户资源'firstname',并且没有名字资源'john'。
有些客户的名字是'john',你会用
来获取它们GET http://www.example.com/customers?firstname=John