tezu memo blog

日々行った作業をメモしていきます

zircote/swagger-php v4 upgradeでWarning: Required @OA\Info() not found

事象

Dependabotが作成するPRの対応で発生

./vendor/bin/openapi ./app/Http/ -o ./openapi.yml
Warning: Required @OA\Info() not found

3系から4系へのupgrade

原因

@OA\Infoを定義しているPHPがClassでは無くFile

app/Http/open-api.php

<?php
/**
 * @OA\Info(
 *     title="xxxx",
 *     version="v1.0"
 * )
 */

対応

Migrating to v4に書いてありました

github.com

Annotations now must be associated with either a class/trait/interface, method or property.

FileからClassに変更

app/Http/OpenApiSpec.php

<?php
namespace app\Http;

/**
 * @OA\Info(
 *     title="xxxx",
 *     version="v1.0"
 * )
 */
class OpenApiSpec
{
}

github.com

Migration to v4のリンクが404ですが、場所を移動したみたいです