Una parte de mi aplicación estará disponible como API, por lo que algunas de mis páginas deben estar disponibles en JSON o XML (según el encabezado Aceptar 'Tipo de contenido').Symfony2 + FOSRestBundle: ¿Habilita/deshabilita la funcionalidad REST por controlador/acción?
He utilizado el FOSRestBundle y funciona muy bien, pero ahora TODAS mis páginas están disponibles en XML (o JSON) al enviar Aceptar encabezado 'Tipo de contenido: application/xml'.
Por lo tanto, me gustaría habilitar/deshabilitar esta funcionalidad para algunos de mis controladores/acciones. Sería ideal hacerlo con anotaciones.
¿Es esto posible?
Mi 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
suena bien, pero no parece funcionar. –
Funciona para mí. ¿Estás usando la clase correcta de anotación 'View'? ¿Puedes proporcionar más información? –
Si 'usa FOS \ RestBundle \ Controller \ Annotations como Rest;', sus anotaciones deben ser '@Rest \ View' en lugar de' @ View' – alexismorin