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/ ]
Другие вопросы по тегам