{"id":1944,"date":"2007-07-03T14:27:54","date_gmt":"2007-07-03T18:27:54","guid":{"rendered":"http:\/\/www.markbaker.ca\/blog\/2007\/07\/03\/crud-more-crud-crud\/"},"modified":"2007-07-03T14:27:54","modified_gmt":"2007-07-03T18:27:54","slug":"crud-more-crud-crud","status":"publish","type":"post","link":"http:\/\/www.markbaker.ca\/blog\/2007\/07\/crud-more-crud-crud\/","title":{"rendered":"Crud, more CRUD crud"},"content":{"rendered":"<p>I&#8217;ve <a href=\"http:\/\/www.markbaker.ca\/blog\/2005\/12\/12\/mokka-mit-schlag-post-vs-put\/\">said it before<\/a>, but apparently not enough as David Chappel <a href=\"http:\/\/www.davidchappell.com\/blog\/2007\/06\/rest-vs-ws-war-is-over-if-you-want-it.html\">chimes in<\/a> with this;<\/p>\n\n<blockquote cite=\"http:\/\/www.davidchappell.com\/blog\/2007\/06\/rest-vs-ws-war-is-over-if-you-want-it.html\">\nA RESTful approach is a natural for data-oriented applications that focus on create\/read\/update\/delete scenarios.\n<\/blockquote>\n\n<p>He&#8217;ll get no argument from me that REST is good for data-oriented applications, but saying that it&#8217;s only good for the subset that fit the CRUD model is wrong.  It&#8217;s wrong because <a href=\"http:\/\/blog.whatfettle.com\/2006\/08\/14\/so-which-crud-operation-is-http-post\">CRUD doesn&#8217;t have an equivalent for HTTP POST<\/a>.  Once you incorporate POST into your repertoire, then you can do all kinds of interesting things like, say, ordering stuff.<\/p>\n\n<p>Perhaps David &#8211; or anybody else &#8211; could point me towards a data oriented application which can&#8217;t fit (well) into such a model (not REST, just the uniform interface part).<\/p>","protected":false},"excerpt":{"rendered":"I&#8217;ve said it before, but apparently not enough as David Chappel chimes in with this; A RESTful approach is a natural for data-oriented applications that focus on create\/read\/update\/delete scenarios. He&#8217;ll get no argument from me that REST is good for data-oriented applications, but saying that it&#8217;s only good for the subset that fit the CRUD [&hellip;]","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[22,38],"class_list":["post-1944","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-rest","tag-webservices"],"_links":{"self":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/1944","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/comments?post=1944"}],"version-history":[{"count":0,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/posts\/1944\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/media?parent=1944"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/categories?post=1944"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.markbaker.ca\/blog\/wp-json\/wp\/v2\/tags?post=1944"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}