Symfony3.4中NelmioApiDocBundle报"areas"选项未识别错误求助
Hey, I’ve run into this exact issue before when working with NelmioApiDocBundle! The root cause is that you’re using the old areas configuration structure, which was deprecated and removed in NelmioApiDocBundle 4.x and later versions. The documentation you referenced might be for an older release of the bundle.
Here’s how to fix it step by step:
1. Update Your config.yml Configuration
Replace the outdated areas setup with the modern documentation and routes structure, which is the standard for recent bundle versions:
nelmio_api_doc: # Define basic metadata for your API docs documentation: info: title: Vyndteam API description: Documentation for Vyndteam's RESTful API version: 1.0.0 # Filter which routes are included in the documentation routes: path_patterns: [^/api] # Include routes starting with /api host_patterns: [api\.] # Include routes from the api subdomain
2. Adjust Your routing.yml
The {areas} parameter in your original route is no longer supported in newer versions. Update it to:
app.swagger_ui: path: /vyndteam/api/doc methods: GET defaults: { _controller: nelmio_api_doc.controller.swagger_ui }
3. If You Need Multiple Document Areas (Like Your Original default and business Setup)
If you still want separate documentation sections for different parts of your API, you can define multiple documentation entries:
Updated config.yml:
nelmio_api_doc: documentation: default: info: title: Default API version: 1.0.0 paths: /api/: ~ business: info: title: Business API version: 1.0.0 paths: /api/business/: ~ routes: default: path_patterns: [^/api] business: path_patterns: [^/api/business]
Corresponding routing.yml for Multiple Docs:
app.swagger_ui_default: path: /vyndteam/api/doc methods: GET defaults: { _controller: nelmio_api_doc.controller.swagger_ui, documentation: default } app.swagger_ui_business: path: /vyndteam/api/doc/business methods: GET defaults: { _controller: nelmio_api_doc.controller.swagger_ui, documentation: business }
4. Verify Your Bundle Version
To confirm which version you’re running, run this command in your project root:
composer show nelmio/api-doc-bundle
If you’re on 4.x+, stick with the new configuration above. If you really need to keep using areas, you’ll have to downgrade to version 3.x, but this isn’t recommended since older versions won’t receive security updates.
内容的提问来源于stack exchange,提问作者Houda Laabidi

