ä»æ¥ã¯第3回 RESTful 読書会ã ã£ãã主å¬ã® id:kunit ããï¼nsiena ãããæ å½ã®æ¹ã ãåå è ã®çãããç²ãæ§ã§ãããã
èªæ¸ä¼ã®æ¨¡æ§ï¼ç¹ã«ï¼ç« ã® DIS ããã£ã·ãï¼ã¯ã¾ãä»åº¦ã¾ã¨ããã¨ãã¦ã
ãã®å URI Templates ( http://bitworking.org/projects/URI-Templates/ ) ã®åè¨èªã®å®è£
ã調ã¹ããã¨èªæ¸ä¼ã§è©±ããããid:t-wada ããã«ã調æ»çµæã addressable ã«ãªãã¨ãããªã¼wãã¨ãªã¯ã¨ã¹ããããã®ã§ãæ©é宿é¡ããã£ã¤ãã¦ããã
URI Templates ã®å®è£ ä¸è¦§
- æ¬å®¶ (experimental implementation in Pythonã
- 59:04+09:00">draft-03ç¸å½):http://code.google.com/p/uri-templates/
- Ruby - Addressable
- http://addressable.rubyforge.org/
- Ruby (draft-02ç¸å½ãå¤æ½åºç¡ã)
- http://github.com/juretta/uri-templates/tree/master
- Javascript
- http://www.mnot.net/javascript/url_template/
- Javascript (draft-02ç¸å½ãå¤æ½åºç¡ã)
- http://www.snellspace.com/wp/?p=831
- Perl
- http://search.cpan.org/~bricas/URI-Template/
- .NET
- http://msdn.microsoft.com/ja-jp/library/system.uritemplate.aspx (æ¥æ¬èª)
- http://msdn.microsoft.com/en-us/library/system.uritemplate.aspx (English)
- PHP (draft-03ç¸å½ãå¤æ½åºç¡ã)
- http://pear.php.net/package/URI_Template/download/
- Java - Apache Abdera (draft-03ç¸å½ãå¤æ½åºç¡ã)
- http://cwiki.apache.org/ABDERA/uri-templates.html
- Java - Metanotion URLMapper (å¤æ½åºç¡ã)
- http://www.metanotion.net/software/urlmapper/
- Erlang (å®è£ ã«ç®ãéãã¦ããªãã®ã§ã対å¿ç¶æ³ã¯ä¸æ)
- http://tfletcher.com/dev/erlang-uri-template
- C++ (draft-01)
- http://labs.cybozu.co.jp/blog/nakatani/2008/07/uri_template_c_xbyak_jit.html (æ¥æ¬èª)
- http://shuyo.wordpress.com/2008/07/17/jit-compiler-for-uri-templates-cxbyak/ (English)
- "draft-**ç¸å½" ã¨ç¹çããã¦ãããã®ä»¥å¤ã¯ substitution ã®ã¿ã®å®è£ (ãããã draft-01 ç¸å½)
- ä»ã«ããã£ããæãã¦ããããã¨å¬ãã
- (6/16) PHP ç㯠id:kunit ããã«ã³ã¡ã³ãæ¬ã§æãã¦ããã ãããæè¬
- (6/16) draft-02 ç¸å½ãª JS ç㯠id:t-wada ããã«ã³ã¡ã³ãæ¬ã§æãã¦ããã ãããåããæè¬
- (6/27) id:IwamotoTakashi ããã«æ¬å®¶ã®å®è£ ãªã³ã¯éãæãã¦ããã ã㦠Java/Erlang/Ruby ã®æ å ±ã追å ãæè¬
- (7/10) æåå³åã§ãããC++ å®è£ ã追å
ããã§çµãã£ã¡ããã®ãä½ãªã®ã§ãURI Templates ã«ã¤ãã¦ç°¡åã«ç´¹ä»ã
- å¤ããã³ãã¬ã¼ãã«åãè¾¼ã㧠URI ãçæãéã« URI ããå¤ãåãåºãããã®ä»æ§
- ietf ã§æ¨æºåãç®æãã¦ä»æ§çå®ããã¦ãã(ã¯ã)ã
- ç¾å¨ã®ææ°ç㯠draft-03ã
- 次ã®ã¹ãã¼ã¿ã¹ã«ãã¤é é²ã¿ãããããªã©ã¯ä¸æ( ietf ã® URI ML ã¾ã§ã¯è¿½ããããã®ã ãã© )
ãã©ã¦ã¶ãããªã¯ã¨ã¹ãããã URI ã解æãã¦å¤ãåãåºããããéã«å¤ã®ã»ãã(ããã·ã¥)ãã URI ãçæãããã¨ãèããã
URI Templates ã§ã¯ã以ä¸ã®ãããªããã³ãã¬ã¼ãããç¨æãããã¨ã§ãããã«å¤ãå
¥ã㦠URI ãå¾ãããéã« URI ã¨ãããã³ã°ããã¦å¤ãå¾ããããã
http://www.example.com/users/{userid}
REST ã«ããããè¨è¿°ç㪠URI ã使ã£ã connectivity (ãªã³ã¯)ãæºããã¢ããªã±ã¼ã·ã§ã³ãä½æããã¨ããåã URI ãä½ããã¾ãããã解æããå¿
è¦ãçããã®ã ãããããæ£è¦è¡¨ç¾ã§ããããæååé£çµã§ãã¨ãããã¨ã ã¨ééããçºçããå¯è½æ§ã¯ååããããå¤æ´ã®æã®ã¡ã³ããã³ã¹ã大å¤ã
ãã³ãã¬ã¼ããè¨è¿°ããã ãã§ãã®ä¸¡æ¹ã«å¯¾å¿ã§ãããåé¡ã¯è§£æ±ºãããããã¨ããã®ã URI Templates ã®å©ç¹ã ããã¨æãã
ã¯ã¨ãªãã©ã¡ã¼ã¿ã§ããå¤ã®åã渡ããããªãã¨ãããªã³ã¯ URI ã«å¤ãå«ãããã¨ã¯ããªã(ã¡ãã¥ã¼ãªã©ã®éçãªãªã³ã¯ãããªã)ã¨ããã£ãå ´åã¯ãã¾ãå½¹ã«ç«ããªãã ãããã£ã¦è¨ã£ã¡ãã£ã¦ãããã®ããªï¼
draft-03 ã§ãããªãããã«ãRESTfulæ¬ã®ä½è
ããã¯ãHTML5 ã«å
¥ããããã¨(é度ã®ï¼)æå¾
ãå¾ã¦ããã®ã ããå®ã®ã¨ãã draft-03 ã¯çµæ§ããã°ã©ããã«ã ã£ããã¨ç¡éã«é«æ©è½ã
ã¯ã£ãããã£ã¦ããã¾ã§ãããªãã
draft-01ï¼Î±(ããã©ã«ãå¤ã¨ã) ã®ãµãã»ãããä½ã£ã¦æ¬²ãããªãã