Skip to content

Alternative Names

Warning: You are browsing the documentation for version 3.x which is not maintained anymore. If some of your projects are still using this version, consider upgrading.

NelmioApiDoc automatically generates the model names but the nelmio_api_doc.models.names option allows to customize the names for some models.

Configuration

You can define alternative names for each group and area combinations: when conflicts arises, the last matching rule will be used:

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] }

In this case the class App\Entity\User will be aliased into:

  • MainUser when no more detailed rules are specified
  • MainUser_light when the group is equal to light
  • MainUser_secret for the private area
  • MainUser for the private area when the group is equal to standard

Tip

This allows to use normal references instead of @Model. Notably, you can specify the groups used for a model once in config and then refer to its alternative name:

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
{
    /**
     * @SWG\Response(response=200, @SWG\Schema(ref="#/definitions/MyModel"))
     */
    public function indexAction()
    {
    }
}
This work, including the code samples, is licensed under a Creative Commons BY-SA 3.0 license.
TOC
    Version