Laravel L5-Swagger
L5-Swaggerとは
Laravelから各Swaggerツールを利用できるツール
「Swagger」参照
設定
インストール
composer.phar require “darkaonline/l5-swagger”
ドキュメント
Jsonリソース参照
@OA\Property(
type="object",
property="名前",
description="説明",
allOf={@OA\Schema(ref="#/components/schemas/TestResource")}
)
Json直接記述
@OA\Property(
type="object",
property="名前",
description="説明",
example={"項目A": "aaa", "項目B": "bbb"}
)
例
/**
* @OA\Info(
* version=”1.0.0″,
* title=”L5-Swaggerサンプル”,
* description=”サンプル”,
* )
*/
class HelloController extends Controller
{
/**
* @OA\Get(
* path=”/hello”,
* operationId=”hello”,
* tags={“タグ”},
* summary=”ハロー”,
* description=”こんにちは”,
* @OA\Response(
* response=200,
* description=”成功”,
* @OA\JsonContent(
* type=”object”,
* @OA\Property(
* property=”message”,
* type=”string”,
* description=”メッセージ”,
* example=”Hello”
* )
* )
* )
* )
*/
public function index()
{
〜
}
}
APIドキュメント生成
php artisan l5-swagger:generate
→ \storage\api-docs\api-docs.json
自動生成設定
※.env
L5_SWAGGER_GENERATE_ALWAYS=true
APIドキュメント表示
ブラウザで
http://〜/api/documentation
を表示
SwaggerUIが起動される
「Swagger」参照
=ffffff&f=ifr”>