On Sun, May 4, 2008 at 7:15 AM, Matt S Trout <[EMAIL PROTECTED]> wrote: > On Sun, May 04, 2008 at 09:10:56AM +0200, Aristotle Pagaltzis wrote: > > * luke saunders <[EMAIL PROTECTED]> [2008-05-04 02:50]: > > > Also it doesn't distinguish between POST, PUT, DELETE and GET > > > HTTP requests favouring instead entirely separate endpoints, > > > but that's up for discussion. > > > > Putting the verb in the URI is RPC, not REST. This is not a > > matter of discussion. > > No, but how you provide an alternative to full RESTness for clients that > don't handle the full range of HTTP verbs -is- a matter for discussion. > > Or at least a matter for determining an architecture that allows you to > use whatever alternative you like. > > Please don't let your obsessive REST advocacy blind you to pragmatic > software development issues; it's starting to get boring. >
Naming things REST when they aren't confuses the namespace and further propagates the confusion about what REST actually is. Call it something else and do everybody who actually tries to build RESTful apps a favor. Trying to argue in favor of naming something that isn't REST in any way REST does a disservice to the world. And kills puppies, deprives worthy little girls of ponies, elects neoconservatives to office and, quite possibly, lights a bag of excrement on your porch then ringing your doorbell and running. And, on a more topical note, my method for having actual REST and then a dumbed down browser version is similar to jrockway's suggestion about dispatch methods. My approach is a set of very thin actions that exist outside of the main API space (or, what I've been playing around with is a more adaptive interface based on what Dave Rolsky is working on: http://search.cpan.org/~drolsky/Catalyst-Request-REST-ForBrowsers-0.01/lib/Catalyst/Request/REST/ForBrowsers.pm). They really end up just being a sort of internal API to the base web service. This also addresses the id == primary key issue, because in your front-end browser-facing scheme, you have /book/id/{primary key}, which maps to /book/{unique identifier}. _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/