RESTful#とは勉強会16

行ってきた。

rubychildren.doorkeeper.jp

まず前半の『Webを支える技術 -HTTP、URI、HTML、そしてREST』の読書会での書籍を忘れたので、技術評論社さんのサイトで電子書籍をぽちっとした。インターネットべんり。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

後半の『チケット管理システムのリソース設計』のワークショップで着席したテーブルでは HAL (Hypertext Application Language) を背景にした設計が話されていた。

そのワークショップの成果。

リソース生成の設計について、サーバー側でリソースを生成 (裏側の仕組みでいうと採番) されるまでクライアント側では URL が分からない /todos/1 という形式と、クライアント側で (slug を使うことで) URL を名付けてリソースを生成する `/todos/shopping' 形式という、おおきく2つのタイプに分けたリソース生成の話が印象に残った。

リソース生成について前者は Rails のレールに乗っかった POST を使うことになるため真っ先に浮かんだものだったけれど、後者は冪等性ある PUT を常に (UPSERT 的に) リソース生成/更新に使うためシンプルにもなるため美味しいという話で自分の中にはない考え方だったので勉強になった。

現実的には乗っかる Web アプリケーションフレームワークでの CoC から外れない作り易さといったものも含めて、使い分けの選択肢を考えて行くことになりそう。良い会でした。