NelmioApiDocBundle не работает "Нет операций, определенных в спецификации!"
Я хочу использовать 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",
2 ответа
Просто удали
host_patterns:
- ^api\.
и установите свой виртуальный хост в
documentation:
host: symfony.localhost
Ресурсы обычно устанавливаются композитором, если какое-либо командное событие (обычно post-install-cmd или post-update-cmd) запускает сценарий ScriptHandler:: installAssets. Если вы не настроили этот скрипт, вы можете вручную выполнить эту команду:
Ресурсы php bin/console: установить --symlink
Проблема в шаблонах пути config.yml. Если вы удалите конфигурацию (все nelmio_api_doc) или измените шаблоны пути, будет работать. Пример:
nelmio_api_doc:
areas:
default:
path_patterns: [ /api/ ]