NelmioApiDocBundle не генерирует документацию - PullRequest
0 голосов
/ 01 июня 2018

Я хочу использовать NelmioApiDocBundle для автоматического создания документации.Я использовал стандартный документ Symfony для установки и настройки: https://symfony.com/doc/current/bundles/NelmioApiDocBundle/index.html. К сожалению, когда я захожу в / api / doc, мой документ пуст.

Я использую Symfony 3.4 и NelmioApiDocBundle в версии 3.2.0.

Вот мой конфиг:

nelmio_api_doc:
    areas:
        path_patterns: # an array of regexps
            - ^/api(?!/doc$)
        host_patterns:
            - ^api\.
    documentation:
        host: 127.0.0.1
        schemes: [http, https]
        info:
            title: Thanatos API
            description: This is documentation of Thanatos
            version: 1.0.0
        security:
            - Bearer: []

И аннотации в моем контроллере (вначале я хочу видеть любые данные в моей документации):

/**
 * @Route(
 *  "/",
 *  name="thanatos_dashboard_index", 
 * )
 *
 * @SWG\Response(
 *     response=200,
 *     description="Returns the rewards of an user",
 *     @SWG\Schema(
 *         type="array",
 *         @SWG\Items(ref=@Model(type=Reward::class, groups={"full"}))
 *     )
 * )
 * @SWG\Parameter(
 *     name="order",
 *     in="query",
 *     type="string",
 *     description="The field used to order rewards"
 * )
 * @SWG\Tag(name="rewards")
 * @NelmioSecurity(name="Bearer")
 */
public function indexAction()
{
    return $this->render("@AppThanatos/Dashboard/index.html.twig");
}

In /api / doc Я вижу "Операции не определены в спецификации!"Что я делаю не так?


@ ОБНОВЛЕНИЕ

Я только начинаю использовать Сами: http://symfony.com/projects/sami

Ответы [ 3 ]

0 голосов
/ 05 июня 2018

У меня такая же проблема.Работая на моем Mac, я всегда ERR_EMPTY_RESPONSE (используя Chrome), но в производственной среде та же конфигурация работает нормально.

Единственное отличие было в Xdebug, я попытался отключить модуль, и теперьвсе работает.

0 голосов
/ 07 сентября 2018

Ресурсы обычно устанавливаются композитором, если какое-либо командное событие (обычно post-install-cmd или post-update-cmd) запускает сценарий ScriptHandler::installAssets.Если вы не настроили этот скрипт, вы можете вручную выполнить эту команду:

php bin/console assets:install --symlink
0 голосов
/ 01 июня 2018

Попробуйте:

Заменить

 * @Route(
 *  "/",
 *  name="thanatos_dashboard_index", 
 * )

На

 @Rest\Get("/getVehicles")

И, в вашем контроллере действий, вернуть массив или объект, подобный этому:

    $em = $this->getDoctrine();
    return $em->getRepository('AppBundle:Vehicle')->findAll();
...