在REST中查询参数

时间:2012-03-16 13:38:32

标签: web-services rest

我正在为Google AppEngine编写一个RESTful Web服务。 webservice基于条形码和格式提供产品的Java序列化对象表示。我想知道RESTful设计在以下选项中首选哪种设计方法(如果有的话):

选项 - 1:

 /product?barcode=1234&format=ean_13

选项 - 2:

/product/1234?format=ean_13

选项 - 3:

/product/ean_13/1234

我在SO上发现了很多关于REST的引用,但没有解决使用查询参数来识别表示的问题。

我自己的理解是它不应该有所作为,因为服务器在所有三种情况下都是无状态的,但我不确定。

1 个答案:

答案 0 :(得分:3)

它对REST没有任何影响,只有三种不同的标识符。

从实际的HTTP角度来看,有许多部署的中间缓存不会缓存具有查询参数的表示。因此,如果想在公共缓存中缓存这些表示,那么选项3可能更好。