あるSEのつぶやき・改

ITやシステム開発などの技術に関する話題を、SEとしての経験から取り上げたり解説したりしています。

Laravel+L5 Swagger UIでJSONの定義ファイルを自動生成する方法

Laravel に L5 Swagger UI をインストールすると、割合と手軽に Swagger を Laravel のプロジェクトに組み込むことができます。

github.com

PHP の Swagger で面倒なのが、API の記述をコードに追加しても、以下のようにコマンドを実行してAPIドキュメントのデータを更新する必要があることです。

$ php artisan l5-swagger:generate

ですが、L5 Swagger UI には、ブラウザで API ドキュメントを読み込み時に、最新の JSON 定義ファイルを自動生成する方法があります。

それは、config/l5-swagger.phpの以下のプロパティをtrueにするだけです。

    /*
    |--------------------------------------------------------------------------
    | Turn this off to remove swagger generation on production
    |--------------------------------------------------------------------------
    */

    'generate_always' => env('L5_SWAGGER_GENERATE_ALWAYS', true),

非常に便利なので、是非活用してください。

なお、本番環境では設定を無効にするのを忘れないでくださいね。