On 22.02.2010, at 10:08, Simon Cornelius P Umacob wrote:

On Mon, Feb 22, 2010 at 5:02 PM, David Zülke
<[email protected]> wrote:

GET /products - list
GET /products?num=100&page=2 - this is how you use query strings properly, /products/100/2 or so would *not* be RESTful as it doesn't represent a
resource

Yikes, I didn't know that.  In order to make this RESTful, do we need
to use /products/num/100/page/2 instead?  What's the general rule for
creating "beautiful" RESTful URLs? =)

No... I'm saying that it is wrong in any case. The purpose of the query string is to provide filtering, sorting, "querying" options for a resource.

"/products/num/100/page/2" is *not* a resource. It is a specific representation of a subset of the resource "/products", and thus should *not* have a different URL. So "/products?num=100&page=2" is *correct*.

Same for search URLs. It's "/search?q=blah&type=image", not "/search/ blah/image" or something else. Such a URL structure also doesn't scale well because you'll keep adding filtering options to the URL which causes ambiguities etc. Don't do it.

- David

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
users mailing list
[email protected]
http://lists.agavi.org/mailman/listinfo/users

Reply via email to