Una parte della mia domanda sarà disponibile come API, quindi alcune delle mie pagine devono essere disponibili in JSON o XML (in base all'intestazione Accept "Tipo di contenuto").Symfony2 + FOSRestBundle: attiva/disattiva la funzionalità REST per controller/azione?
Ho usato il FOSRestBundle e funziona molto bene, ma ora TUTTI mie pagine sono disponibili in XML (o JSON) per l'invio di Accept header 'Content Type: application/xml'.
Quindi, vorrei abilitare/disabilitare questa funzionalità per alcuni dei miei controller/azioni. Sarei l'ideale per farlo usando le annotazioni.
È possibile?
mio 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
suona bello, ma non sembra funzionare. –
Funziona per me. Stai usando la classe di annotazione 'View' corretta? Potete fornire maggiori informazioni? –
Se si usa FOS \ RestBundle \ Controller \ Annotations come Rest; ', le annotazioni dovrebbero essere' @Rest \ View' piuttosto che '@ View' – alexismorin