nunun / laravel-openapi
Installs: 68
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Language:HTML
Requires
- php: >= 5.3.0
This package is not auto-updated.
Last update: 2020-01-20 22:44:58 UTC
README
OpenAPI 定義ファイルから、 Laravel の RESTfulAPI サーバスタブを自動生成する Composer パッケージです。
使い方
プロジェクト直下に "restfulapi.yml" を置いて、以下を実行するだけです。
> php artisan restfulapi
あとは project/RESTfulAPI/Controllers 以下の php を修正して、API を実装します。
↓まずはインストールを実施して下さい↓
インストール
groovy が必要です。
Mac であれば brew、その他の OS の場合は各種パッケージマネージャから入れてください。
> brew install groovy
groovy が入ったら、composer でパッケージをストール。
> composer require nunun/laravel-openapi
最後に config/app.php にプロバイダを書き足します。
'providers' => [
...
LaravelOpenAPI\LaravelRESTfulAPIProvider::class,
artisan で restfulapi コマンドが出てきたら、ひとまず OK です。
> php artisan
...
restfulapi
...
コード生成してみる
プロジェクト直下に restfulapi.yml を設置して (例は以下 URL 参照)
https://github.com/OAI/OpenAPI-Specification/blob/master/examples/v2.0/yaml/petstore.yaml
project/
restfulapi.yml <------ ここに OpenAPI 定義ファイルを設置
以下のコマンドでコードを生成します。
> php artisan restfulapi
restfulapi.yml から経路、コントローラ、モデルが自動生成され、プロジェクトにインストールされます。
パス | 生成内容 | 注意 |
---|---|---|
app/RESTfulAPI/Controllers/*.php | 実装記述用のコントローラ実装が格納されます | API 実装はここに書く |
app/RESTfulAPI/Models/*.php | 実装記述用のモデル実装が格納されます | モデル実装はここに書く |
app/RESTfulAPI/Codegen/Routes.php | 自動生成した経路が格納されます | 注意! 再生成時に上書きされます |
app/RESTfulAPI/Codegen/Controllers/*.php | 自動生成したベースコントローラ実装が格納されます | 注意! 再生成時に上書きされます |
app/RESTfulAPI/Codegen/Models/*.php | 自動生成したベースモデル実装が格納されます | 注意! 再生成時に上書きされます |
生成された API の経路は、artisan から確認できます。
> php artisan route:list
経路が確認できたら、HTTP からアクセスできるようになっています。
以降は php artisan restfulapi と php artisan serve からレスポンスを確認しつつ、
project/RESTfulAPI 以下の php を修正して、API を実装してください。
API 定義の確認と動作テスト
php artisan serve してから "http://<ホスト名>/api" にアクセスすると Swagger Editor が開きます。
プロジェクトの restfulapi.yml について、API 定義の確認と動作テストを行えます。
※プロジェクトに laravel-cors がインストールされていない場合は、ホストの API 定義が取れずうまく動作しません。
laravel-cors のインストールについては以下のページを見て下さい。
https://github.com/barryvdh/laravel-cors