跳到内容

别名

编辑此页

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 许可协议获得许可。
目录
    版本