别名
NelmioApiDoc 自动生成模型名称,但 nelmio_api_doc.models.names
选项允许自定义某些模型的名称。
配置
您可以为每个组和区域组合定义别名:当冲突发生时,将使用最后匹配的规则
1 2 3 4 5 6 7
nelmio_api_doc:
models:
names:
- { alias: MainUser, type: App\Entity\User}
- { alias: MainUser_light, type: App\Entity\User, groups: [light] }
- { alias: MainUser_secret, type: App\Entity\User, areas: [private] }
- { alias: MainUser, type: App\Entity\User, groups: [standard], areas: [private] }
在这种情况下,类 App\Entity\User
将被别名为
MainUser
当没有更详细的规则指定时MainUser_light
当组等于light
时MainUser_secret
对于private
区域MainUser
当组等于standard
时,对于private
区域
提示
这允许使用普通引用而不是 #[Model]
。值得注意的是,您可以在配置中指定一次模型使用的组,然后引用其别名
1 2 3
nelmio_api_doc:
models:
names: [ { alias: MyModel, type: App\MyModel, groups: [light] }]
1 2 3 4 5 6 7 8 9
class HomeController
{
/**
* @OA\Response(response=200, @OA\JsonContent(ref="#/components/schemas/MyModel"))
*/
public function indexAction()
{
}
}
本作品,包括代码示例,均根据 Creative Commons BY-SA 3.0 许可协议获得许可。