BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース rest: HaskellのオープンソースRESTフレームワーク

rest: HaskellのオープンソースRESTフレームワーク

ブックマーク

原文(投稿日:2014/07/07)へのリンク

Silkは先頃,"rest"という名称のHaskell用RESTフレームワークをオープンソースにした。happstackなどの一般的なWebフレームワーク上で動作させることが可能な,RESTサービス定義用のDSLを提供する。タイプセーフなURL,フォーマット形式の抽象化サポート,API仕様とビジネスロジックの明確な分離といった機能も備える。

restはおもに3つのコンポーネントで構成されている。

  • rest-core: バージョン付きのRESTリソースを定義するADSL。
  • rest-gen: restAPIからドキュメントとHaskell, JavaScript, Rubyクライアントを自動生成する。
  • rest-snap, rest-happstack, rest-wai: 対応するWebサーバを使用してリソースを実行するためのドライバ。

その他にもrest-client, rest-types, json-schema, generic-aesonなどといった,restから,あるいはrestと合わせて利用可能なパッケージがある。これらの詳細については,発表資料で見ることができる。

Haskell で一般的なWebフレームワークには,タイプセーフなURLやルーティング,テンプレートといった機能をサポートするものがすでにある。restを利用する最大のメリットは,ルーティングや入出力フォーマットのパースあるいはシリアライズ,特定のリソースでサポートされている要求タイプといった,API定義に関連する部分からビジネスロジックを分離できることだ。これを実現するために,強い型付関数をラップする,さまざまな"スマート"コンストラクタが用意されている。

このチュートリアルで詳細を確認して,restを使ってみてほしい。

この記事に星をつける

おすすめ度
スタイル

BT