Моя цель - иметь вывод json по умолчанию, когда для пользовательского агента установлено что-то еще, кроме json или xml. Я настроил FOSRestBundle 1.1.0 следующим образом:
fos_rest:
format_listener: true
param_fetcher_listener: true
view:
default_engine: php
formats:
json: true
xml: true
templating_formats:
html: false
view_response_listener: force
routing_loader:
default_format: json
Это работает. Теперь я добавил следующую конфигурацию:
format_listener:
rules:
- { fallback_format: json, prefer_extension: false, priorities: ['xml', 'json'] }
Как только я это сделаю, я больше не могу переключаться между форматами, добавляя ?_format=json
или ?_format=xml
, а также заголовок Accept, похоже, игнорируется, он всегда использует все, что я указываю в заголовке accept.
Как настроить FOSRestBundle так, чтобы он принимал json или XML через заголовок запроса Parameter/HTTP и возвращался к json, если браузер принимает формат HTML?