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"