Symfony2 + FOSRestBundle :Включить/отключить функциональность REST для каждого контроллера/действия?

Часть моего приложения будет доступна как API , поэтому некоторые из моих страниц должны быть доступны в формате JSON или XML (на основе заголовка Accept «Тип контента» ).

Я использовал FOSRestBundle , и он работает очень хорошо, но теперь ВСЕ мои страницы доступны в XML (или JSON )при отправке заголовка Accept 'Content Type :] приложение/xml'.

Итак, я хотел бы включить/отключить эту функцию для некоторых моих контроллеров/действий. Было бы идеально сделать это с помощью аннотаций.

Это возможно?

Мой config.yml:

fos_rest:
    view:
        formats:
            rss: false
            xml: true 
            json: true
        templating_formats:
            html: true
        force_redirects:
            html: false
        failed_validation: HTTP_BAD_REQUEST
        default_engine: twig
        view_response_listener: force
    body_listener:
        decoders:
            json: acme.decoder.json
            xml: fos_rest.decoder.xml
    format_listener:
        default_priorities: ['html', 'xml', 'json', '*/*']
        fallback_format: html
        prefer_extension: false    
5
задан Clement Herreman 13 April 2015 в 12:42
поделиться