我使用此 SecuritySchema 来定义 JWT 安全验证:
/*
* @SWG\SecurityScheme(
* securityDefinition="JWT",
* type="apiKey",
* in="header",
* name="Authenticate"
* ) */
并将其引用为:
/*
* @SWG\Post(path="/ap/some/method",
* security={"JWT"={}},
* )
规格说明我应该参考为
{
...
"security":["JWT":[]]
...
}
但事实是 Swagger-PHP 生成:
{
...
"security":{"JWT":[]}
...
}
在 Swagger UI 上显示为验证错误。
问题是: 如何模拟所需的输出以避免 Swagger UI 和 Swagger PHP 警告/错误?
security":["JWT":[]]
不是有效的 json,但规范确实需要一个用于安全属性的数组。
期望的输出是:
"security":[{"JWT":[]}]
可以通过以下方式生成:
security={{"JWT":{}}}
(注意额外的括号)
如果你使用 php 属性,请像这样使用数组:
#[OA\Post(
path: '/route',
summary: 'desc',
security: [['bearerAuth' => []]],
tags: ['Tag'],
)]
我希望它对某人有帮助,来自 Swagger-PHP 的文档对于属性示例来说非常糟糕。