初心者向けapiDoc入門：簡単なAPIドキュメントの作り方

## はじめに
API開発って楽しいけど、ドキュメント作成だけは正直「うーん…」ってなること、ありますよね？特に初心者だと、どこから手をつけていいか分からず、時間ばかりかかって挫折しそうになることも。でも大丈夫！超シンプルなドキュメント生成ツール「[apiDoc](http://apidocjs.com/)」を使えば、驚くほど簡単に高品質なAPIドキュメントが作れちゃうんです。今回は、このapiDocの使い方を、僕なりの視点で解説していきます。

## ステップ1：apiDocをインストールしてみよう

まずは、apiDocを自分のPCにインストールする必要があります。詳しい手順は[公式サイト](http://apidocjs.com/)を見てもらうのが一番確実かな。もしNode.jsを使ってるなら、ターミナルでこのコマンドを叩けばOK。

```bash
npm install apidoc -g
```

これで、どこからでもapiDocコマンドが使えるようになるはずです。

## ステップ2：ソースコードにAPIの情報を書き込もう

apiDocのすごいところは、ソースコードにコメントとしてAPIの情報を書いておくだけでドキュメントを生成してくれること。こんな感じで、APIの機能やパラメータ、戻り値なんかを書いていきます。

```javascript
/**
 * @api {METHOD} /route
 * @apiName RouteName
 * @apiGroup GroupName
 *
 * @apiParam {type} name description
 * @apiSuccess {type} name description
 *
 * @apiDescription Description
 */
// ... existing code ...
```

ここで出てくる`METHOD`とか`/route`、`RouteName`、`GroupName`、`type`、`name`、`description`、`Description`は、自分のAPIに合わせて書き換えてくださいね。他にも色々な書き方があるから、詳しくはapiDocのドキュメントをチェックしてみるといいですよ。


https://apidocjs.com/


## ステップ3：いざ、APIドキュメントを生成

コメントを書き終えたら、いよいよドキュメント生成です。ターミナルでAPIのソースコードがあるディレクトリに移動して、このコマンドを実行します。

```bash
apidoc -i <inputDirectory> -o <outputDirectory>
```

- `<inputDirectory>`にはソースコードがあるディレクトリ、
- `<outputDirectory>`には生成されたドキュメントを出力したいディレクトリを指定します。

これで、apiDocがコメントを読み取って、自動的にAPIドキュメントを作ってくれます。指定した出力ディレクトリを見てみてください。

## ステップ4：できたドキュメントを確認

生成されたAPIドキュメントを開いてみましょう。各エンドポイントのHTTPメソッドやパラメータ、戻り値なんかが詳しく書かれているはずです。これがあれば、他の開発者もあなたのAPIをスムーズに理解して使えるようになりますね。

## apiDocもいいけど、正直もっと楽したいならApidogって選択肢もあるよ

apiDocは確かにシンプルで使いやすいドキュメント生成ツールです。でも、API開発ってドキュメント作るだけじゃないですよね？テストしたり、モックサーバー立てたり、色々な作業があります。正直、もっと全部まとめて楽に管理したい！って思うこと、ありませんか？

そんなあなたに、個人的におすすめしたいのが「[Apidog](http://www.apidog.com/jp/?utm_source=opr&utm_medium=a2qiita3&utm_content=apiDoc)」です。これはWebベースのAPI開発プラットフォームで、ドキュメント作成はもちろん、APIテスト、モック、データ管理まで、API開発に必要な機能が全部詰まってるんです。

apiDocと比べて、Apidogの何が良いかって？いくつか挙げてみますね。

1.  **ドキュメント作成が爆速**
    ![apidog-データをインポート.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4043697/f25122ca-dc72-49fd-9cc9-9c445f2689b7.png)
    OpenAPIとか[Swagger](https://swagger.io/specification/)、[Postman](https://www.postman.com/)のデータも簡単にインポートできるから、既存のAPI情報もすぐにApidogに取り込めます。手入力する手間が省けるのは本当に助かります。

2.  **見たまま編集できるのが直感的**
    ![apidog-demo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4043697/100f2fd5-158b-48b2-a986-25a8c442a3a6.png)
    ApidogにはGUIエディタがあるから、エンドポイントとかパラメータの編集がすごく分かりやすいんです。「ここをこうしたいな」って思った時に、直感的に操作できるのはストレスがなくて良いですね。

3.  **色々な形式でドキュメントを出力できる**
    ![apidog-toha.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4043697/1051fdf3-1861-4bd3-a82f-861c7703c639.png)

    HTMLだけじゃなくて、MarkdownとかPDF、Word形式でもドキュメントを出力できます。共有する相手に合わせて形式を選べるのは便利です。

4.  **チーム開発が捗る！**
    Apidogはチームでの利用も考慮されてて、権限管理なんかも細かく設定できます。複数人でAPI開発を進める時には、こういう機能があるとすごく助かります。
    ![apidog-機能紹介-4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4043697/c2c53971-dba4-46b1-beb7-f8403437de5d.png)

正直、apiDocはドキュメント生成に特化したツールとしては優秀です。でも、API開発全体の効率を考えたり、チームで開発するなら、[Apidog](http://www.apidog.com/jp/?utm_source=opr&utm_medium=a2qiita3&utm_content=apiDoc)みたいな統合プラットフォームの方が断然便利だと僕は思います。もちろん、どちらを選ぶかはプロジェクトの規模やチームの状況によりますけどね。


## まとめ

今回はapiDocを使ったAPIドキュメントの生成方法と、個人的におすすめのApidogについて語ってみました。APIドキュメント作成は面倒な作業に思えるかもしれませんが、しっかり作っておくと後々の開発効率が全然違ってきます。
apiDocのようなシンプルなツールから始めてみるのも良いですし、Apidogのような高機能なツールで一元管理を目指すのもアリだと思います。
皆さんのAPI開発が少しでも楽になれば嬉しいです！