区域

编辑本页

区域

我们已经看到,您可以配置使用哪些路由记录nelmio_api_doc.areas

1 2 3 4 5
nelmio_api_doc:领域:path_patterns:^ / apihost_patterns:^ \ api。name_patterns:^ api_v1

但实际上,这个配置选项更强大,它允许您将文档分成几个部分。欧宝体育电话

配置

您可以定义区域,每个区域将生成不同的文档:欧宝体育电话

12 3 4 5 6 7 8 9 10 11 12
nelmio_api_doc:领域:默认值:path_patterns:^ / apihost_patterns:^ \ api。内部:path_patterns:^ /内部商业:path_patterns:^ /商业存储:#包含名称包含“store”的路由name_patterns:商店

您的主要文档在欧宝体育电话默认的区域。它是访问时显示的那个/ api /医生

然后更新您的路由,以便能够访问您的不同文档:欧宝体育电话

1 2 3 4 5 6 7 8 9 10 11
# app / config / routing.yamlapp.swagger_ui:路径:/ api / doc /{区域}方法:得到默认值:_controller:nelmio_api_doc.controller.swagger_ui,面积:默认的以JSON形式公开它们# app.swagger.areas:#路径:/api/doc/{area}.json#方法:GET#默认值:{_controller: nelmio_api_doc.controller。昂首阔步}

这是所有!您现在可以访问/ api / doc /内部/ api / doc /商业而且/ api / doc /商店

在每个区域使用注释来过滤已记录的路由

你可以在你的控制器中使用“@Areas”注释来定义你的路由区域。

首先,您需要定义哪些区域将使用“@ regions”注释进行筛选
应记录的路线:

1 2 3 4 5 6
nelmio_api_doc:领域:默认值:path_patterns:^ / api内部:with_annotation:真正的

然后在控制器或动作之前添加注释:

12 3 4 5 6 7 8 9 10 11 12 13 14 15
使用Nelmio注释作为Nelmio/ * * *@Nelmio\ regions ({"internal"}) =>这个控制器中的所有动作都记录在'internal'区域*/下MyController/ * * *@Nelmio\ regions ({"internal"}) =>此操作被记录在'internal'区域*/下公共函数指数(){…}}
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。