ApiaryProviderで大マッシュアップ時代を生き抜く

はじめに

この記事は F# Advent Calendar 2014の3日目です。 今回は、ApiaryProviderというライブラリを紹介します。

Apiaryとは

Apiaryとは、Blueprintと呼ばれるWebAPI記述言語で作られたドキュメントをホスティングするサービスです。 ただドキュメントを公開するだけでなく、そのドキュメントを元にモックサーバーを立ち上げたり、 クライアントからの容易なアクセスを提供することができます。 詳しくは、apiary.io をチェック!

こんな面白そうなAPIも公開されています!

Blueprintについて

WebAPIの仕様記述といえば、SOAPWSDLにトラウマを持っている人は少なくないんじゃないでしょうか。 Apiaryが対応しているBlueprintという言語は、Markdownベースで非常にシンプルです。

下記の公式サンプルを見てください。

blueprint Simplest API

F#でApiaryを利用する

ApiaryProviderというライブラリを使うことで Apiaryで公開されてるAPIを、F#から簡単に使うことができます。

まずは、nugetでインストールしてください。

PM> Install-Package ApiaryProvider

FsSnippetを利用する簡単なサンプルを作ってみましょう。

open ApiaryProvider

[<EntryPoint>]
let main argv = 
  let fs = new ApiaryProvider<"fssnip">("http://api.fssnip.net/")
  let snips = fs.Snippet.List()
  for snip in snips do
    printfn "%s" snip.Title
  0

ApiaryProviderの型引数に渡すのは、Apiaryに登録されているAPI名です。 コンストラクタのURLは、実際にリクエスト飛ばす先になります。

ApiaryProviderは、指定されたAPIのBlueprintから、APIの構造を型に反映します。 後は、インテリセンスの力でさくさくっとAPIを呼び出すことができます。

fs.Snippet.List()の部分は、Snippetの一覧を取得するAPIを呼び出しています。 また結果に対しても、型が付いていることがわかると思います。

これは便利!

最後に

近年、IFTTTや、Zapierなど便利なハブサービスを多く目にするようになりました。 インターネット上に存在する様々なサービスを、容易に組み合わせられる環境が整ってきたと感じます。

今回紹介したApiaryとApiaryProviderは、WebAPIを手軽に扱うために役立ちます。 ハブサービスや、Apiaryをうまく活用すれば、きっとマッシュアップ時代をより楽しむことができると思います。

ということで3日目終了です。 明日は、@yukitos さんです!