A OpenAPI(Swagger) - user000422/0 GitHub Wiki

基本情報

参考記事: https://riotz.works/articles/lopburny/2019/07/21/efficient-way-to-manage-api-definition/ REST APIについて理解していることが前提。 RESTfulな設計に基づいている。 ソースコード修正と同時に定義の修正も行うため(行うはず)設計書が常に最新である。

■形式 「YAML」「JSON」の2形式に対応。 「YAML」の方が読み書きしやすいのでおすすめです。 「YAML」はコメントを記述できる。

with Laravel

# swagger-php 導入
composer require zircote/swagger-php

# OpenAPI yaml出力(下記の場合はLaravelプロジェクトのディレクトリでコマンド実行)
./vendor/bin/openapi app -o openapi.yaml
use OpenApi\Attributes as OA;

#[OA\Info(title: "Sample API", version: "0.1")] // Info 必須
#[OA\Server(url: "http://localhost:8080")]
class SampleController extends Controller
{
  #[OA\Get(path: '/sample')] // HTTPメソッド 必須
  #[OA\Response(response: 200, description: 'OK')] // Response詳細 必須
  public function index()
  {
    //
  }
}