LoginSignup
25
20

More than 5 years have passed since last update.

API Blueprintでハッピードキュメントライフ

Last updated at Posted at 2015-04-20

API Blueprint

API Blueprintは、APIドキュメントを記述するためのMarkdown拡張です。おおくのツールが公開されており、htmlに変換したり、mock-serverを立てたりできます。

また、Markdown likeなのでそのままでもGithub等で読めます。便利!

つまり、ルールに従ってMarkdownを書くと、モックやhtmlが出来上がる ということです。最高ですね。

他の方法との比較

公式サイトには、他の方法と比較した時の以下の様な利点が挙げられています。

API Blueprint vs. DIY

車輪の再発明をしてる暇があったらAPI開発しようぜ!

API Blueprintは君にヤバいツールを提供する。それを使ってみんなと議論すれば、あとはドキュメントやテスト、Railsのコードすら自動生成できるんだ。

API Blueprint vs. JSON

JSONって人間が書くものじゃないでしょ? そんなのプログラムに任せればいいんだよ。

君が書いたドキュメント、来年になったら誰が管理するの? API Blueprintなら誰だって管理できるんだ。デザイナやコピーライターでもね。

API Blueprint vs. Google Docs

コードは進化し、分岐して行く。バージョンが付けられ、テストされる。そしてそれはコードだけでなく、ドキュメントだってそうあるべきだ。

API Blueprintは、リポジトリの中でコードと共存する。そして、コードと同じライフサイクルを持ち、君の大好きなCIやワークフローに乗せることができるんだ。

とりあえずはじめよう

Apiaryというサービスがあります。
Blueprintを書くと、モックサーバーとドキュメントのサイトが生成される超絶便利なサービスです。

しかもなんと、Githubと連携して既存のリポジトリに追加することができます。

それ以外にも、わざわざcurlを叩かなくてもサービス上からレスポンスを確認できたりと、めちゃくちゃ便利です。

ローカルで使いたい

node環境で使いたい

ドキュメント生成・プレビュー

$ npm install -g aglio
$ aglio -i api.md -o api.html # convert to html
$ aglio -i api.md --server # preview server

プレビュー用のサーバーは、ファイルを更新するとリロードしてくれたりと、結構高機能です。

gulpを使いたい場合はこんな感じ。

$ npm install aglio-gulp
var aglio = require('gulp-aglio');
gulp.task('docs', function () {
  gulp.src('_docs/*.md')
    .pipe(aglio({ template: 'default' }))
    .pipe(gulp.dest('docs'));
});

モックサーバー

$ npm install -g api-mock
$ api-mock api.md

こちらはファイルを変更すると、サーバーを立ち上げ直さないと変更が反映されません。
モックサーバーを利用しながらAPIを変更するということは無いと思うので大丈夫だと思いますが。

その他の環境で使いたい

公式サイトに、ツールのリストがあるので、そちらを参照するとよいでしょう。

Blueprintの書き方

ざっくり書こうと思ってたんですが、思ったよりも柔軟でいろいろと複雑だったのでそのうち別の記事を書きます。

まとめ

あなたもいますぐ、API Blueprintでハッピードキュメントライフを送りましょう!

参考

25
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
20