@Alexander89

No converter named 'fos_rest.request_body' В чем проблема?

Хочу на входе метода получать обьект, но вылетает исключение
No converter named 'fos_rest.request_body' found for conversion of parameter 'article'.
В чем проблема? Нужно где-то описывать конвертер?

Код контролера
<?php
namespace MyBundle\Controller\API\V1;

class OrganizationController extends FOSRestController
{
    /**
     * @param Article $article
     * @return Response
     * @ParamConverter("article", converter="fos_rest.request_body")
     */
    public function postDTOAction(Article $article = null)
    {
    }
}


config.yml
#Sensio ExtraBundle
sensio_framework_extra:
    router:      { annotations: false }
    request:     { converters: true, auto_convert: true }
    view:        { annotations: false }
    cache:       { annotations: false }
    security:    { annotations: true }
    psr_message: { enabled: false } # Defaults to true if the PSR-7 bridge is installed

#FOSRestBundle
fos_rest:
    param_fetcher_listener: true
    body_listener: true
    format_listener: true
    view:
        view_response_listener: 'force'
        formats:
            json : true
        templating_formats:
            html: false
        force_redirects:
            html: true
        failed_validation: HTTP_BAD_REQUEST
        default_engine: twig
  • Вопрос задан
  • 803 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Mevlok
Проверьте не пустое ли у вас свойство class в переменной $configuration. Если нет, то укажите его.
В аннотации указать параметр class, что-то типа. Пример из документации. Т е в вашем случае Article::class
use Symfony\Component\Routing\Annotation\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;

/**
 * @Route("/blog/{id}")
 * @ParamConverter("post", class="SensioBlogBundle:Post")
 */
public function show(Post $post)
{
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы