Symfony2: почему аннотация представления в NelmioApiDocBundle не работает?

Я хочу разделить мою документацию для API, который я строю. Я использую NelmioApiDocBundle, и у них есть идеальный способ с аннотацией представления. Представление Nelmio Проблема в том, что мой метод остается в представлении по умолчанию, а не в предлагаемом представлении oauth:

Итак, / doc / api / oauth / или / api / doc / oauth заканчивается в 404

//config.yml
# app/config/config.yml
nelmio_api_doc: ~

// app/config/routing.yml
NelmioApiDocBundle:
    resource: "@NelmioApiDocBundle/Resources/config/routing.yml"
    prefix:   /api/doc

// routing.yml
    profile_rest_oauth:
        resource: "@ProfileBundle/Rest/Oauth/RestController.php"
        type:     rest
        prefix:   /api/oauth

    profile_rest:
        resource: "@ProfileBundle/Rest/Xwsse/RestController.php"
        type:     rest
        prefix:   /api


//RestController
use FOS\RestBundle\Controller\FOSRestController;
use FOS\RestBundle\Controller\Annotations;
use Nelmio\ApiDocBundle\Annotation\ApiDoc;
use Symfony\Component\HttpFoundation\Request;

class RestController extends FOSRestController
{
    /**
     * @ApiDoc(
     *   description="Update profile for user",
     *   section="profile",
     *   https=true,
     *   statusCodes={
     *       200="OK, user profile updated",
     *       400="Wrong input, no update"
     *   },
     *   views = { "oauth" }
     * )
     */
    public function putProfileAction(Request $request)
    {
    }
//composer.json
   "nelmio/api-doc-bundle": "2.7.0",

2 ответа

Решение

Чтобы ответить на мой собственный вопрос: версия "2.7.0" не совместима с параметром view, вам нужно как минимум 2.9.0". Трудно понять это из документации Symfony, потому что она показывает документацию версии 2.x Symfony.

Выглядит хорошим человеком. По крайней мере, я могу сказать, если вы все настроили правильно - /api/doc/oauth никогда не должен давать вам 404.

Попробуй поменять оба свои

resource: "@ProfileBundle/Rest/Xwsse/RestController.php"
to this like
resource: "@ProfileBundle/Resources/config/routing.yml"
Другие вопросы по тегам