{"id":315,"date":"2012-03-08T22:08:44","date_gmt":"2012-03-08T20:08:44","guid":{"rendered":"https:\/\/kari.world.ikari.fi\/?p=315"},"modified":"2012-03-08T22:08:44","modified_gmt":"2012-03-08T20:08:44","slug":"rest-in-pieces","status":"publish","type":"post","link":"https:\/\/kari.world.ikari.fi\/?p=315","title":{"rendered":"REST in pieces"},"content":{"rendered":"<p>Should go forward or back, or just REST in one place. Who knows what way to go.<\/p>\n<p>I have to admit that I didn&#8217;t even know that HTTP spec had methods like DELETE&#8230; well, or perhaps I&#8217;ve heard about them but due to lack of need for such they have faded into oblivion.<\/p>\n<p><strong>Update: 9.3.2012<\/strong><br \/>\nAuthentication is clearly not piece of cake or walk in the park:<br \/>\n<a href=\"http:\/\/www.infoq.com\/news\/2010\/01\/rest-api-authentication-schemes\">InfoQ: RESTful API Authentication Schemes<\/a><br \/>\n<a href=\"http:\/\/broadcast.oreilly.com\/2009\/12\/principles-for-standardized-rest-authentication.html\">Principles for Standardized REST Authentication<\/a><br \/>\n<a href=\"http:\/\/www.berenddeboer.net\/rest\/authentication.html\">REST based authentication<\/a><br \/>\n<a href=\"http:\/\/blog.synopse.info\/post\/2011\/05\/24\/How-to-implement-RESTful-authentication\">How to implement RESTful authentication<\/a><br \/>\n<a href=\"http:\/\/stackoverflow.com\/questions\/454355\/security-of-rest-authentication-schemes\">Stackoverflow: Security of REST authentication schemes<\/a><\/p>\n<p>For API versioning, well, there is some kind of concept ideas:<br \/>\n<a href=\"http:\/\/barelyenough.org\/blog\/2008\/05\/versioning-rest-web-services\/\">Versioning REST Web Services<\/a><\/p>\n<p><strong>Update: 15.3.2012<\/strong><br \/>\nIt may that betting into REST ain&#8217;t anyway &#8221;future compatible&#8221;, at least in some contexts:<br \/>\n<a href=\"http:\/\/www.infoq.com\/rest\">InfoQ: REST articles<\/a><br \/>\n<a href=\"http:\/\/www.infoq.com\/news\/2012\/02\/websockets-rest\">WebSockets versus REST?<\/a><\/p>\n<p><strong>Update: 28.3.2012<\/strong><br \/>\n<a href=\"http:\/\/codebetter.com\/howarddierking\/2012\/03\/27\/rest-resources\/?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+CodeBetter+%28CodeBetter.Com%29&#038;utm_content=Google+Reader\">CodeBetter &#8211; REST Resources<\/a><\/p>\n<p><strong>Update: 2.5.2012<\/strong><br \/>\nLooks interesting:<br \/>\n<a href=\"http:\/\/java.dzone.com\/articles\/rest-endpoint-integration?utm_source=feedburner&#038;utm_medium=feed&#038;utm_campaign=Feed%3A+javalobby%2Ffrontpage+%28Javalobby+%2F+Java+Zone%29\">REST Endpoint for Integration Using Apache Camel<\/a><br \/>\n<a href=\"http:\/\/jcp.org\/en\/jsr\/detail?id=311\">JSR 311: JAX-RS: The JavaTM API for RESTful Web Services<\/a><br \/>\n<a href=\"http:\/\/www.mkyong.com\/tutorials\/jax-rs-tutorials\/\">JAX-RS Tutorial<\/a><\/p>\n<p><strong>References:<\/strong><br \/>\n<a href=\"http:\/\/www.infoq.com\/articles\/rest-introduction\">InfoQ: Part 1 &#8211; A Brief Introduction to REST<\/a><br \/>\n<a href=\"http:\/\/www.infoq.com\/articles\/tilkov-rest-doubts\">InfoQ: Part 2 &#8211; Addressing Doubts about REST<\/a><br \/>\n<a href=\"http:\/\/www.infoq.com\/articles\/rest-anti-patterns\">InfoQ: Part 3 &#8211; REST Anti-Patterns<\/a><br \/>\n<a href=\"http:\/\/www.xfront.com\/REST-Web-Services.html\">Building Web Services the REST Way<\/a><br \/>\n<a href=\"http:\/\/www.w3.org\/Protocols\/rfc2616\/rfc2616-sec9.html\">Hypertext Transfer Protocol &#8212; HTTP\/1.1 &#8211; Method Definitions<\/a><br \/>\n<a href=\"http:\/\/en.wikipedia.org\/wiki\/Representational_state_transfer\">Wikipedia: Representational state transfer<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Should go forward or back, or just REST in one place. Who knows what way to go. I have to admit that I didn&#8217;t even know that HTTP spec had methods like DELETE&#8230; well, or perhaps I&#8217;ve heard about them but due to lack of need for such they have faded into oblivion. Update: 9.3.2012&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,7],"tags":[],"class_list":["post-315","post","type-post","status-publish","format-standard","hentry","category-development","category-java"],"_links":{"self":[{"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=\/wp\/v2\/posts\/315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=315"}],"version-history":[{"count":0,"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=\/wp\/v2\/posts\/315\/revisions"}],"wp:attachment":[{"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=315"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}