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 specifiedMainUser_light
when the group is equal tolight
MainUser_secret
for theprivate
areaMainUser
for theprivate
area when the group is equal tostandard
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()
{
}
}