我想将nelmio用于symfony-project,但这不起作用。
总是说:规范中未定义任何操作!
我还在https://symfony.com/doc/current/bundles/NelmioApiDocBundle/index.html
上尝试了该示例怎么了?有什么想法吗?
routing.yml
app.swagger_ui:
path: /api/doc
methods: GET
defaults: { _controller: nelmio_api_doc.controller.swagger_ui }
config.yml
nelmio_api_doc:
areas:
path_patterns: # an array of regexps
- ^/api(?!/doc$)
host_patterns:
- ^api\.
控制器
/**
* @Route("/api/test", methods={"GET"})
* @SWG\Response(
* response=200,
* description="Returns the rewards of an user"
* )
* @SWG\Parameter(
* name="order",
* in="query",
* type="string",
* description="The field used to order rewards"
* )
*/
public function testAction()
{
}
composer.json
"symfony/symfony": "3.4.*",
"nelmio/api-doc-bundle": "3.2.1",
答案 0 :(得分:2)
如果任何命令事件(通常为post-install-cmd或post-update-cmd)触发ScriptHandler :: installAssets脚本,则通常由composer安装资产。如果尚未设置此脚本,则可以手动执行以下命令:
php bin /控制台资产:安装--symlink
答案 1 :(得分:1)
只需删除
host_patterns:
- ^api\.
并在
中设置您的虚拟主机documentation:
host: symfony.localhost
答案 2 :(得分:0)
问题出在config.yml路径模式中。如果删除配置(所有nelmio_api_doc)或更改路径模式将起作用。示例:
nelmio_api_doc:
areas:
default:
path_patterns: [ /api/ ]