我的目標是在用戶代理設置爲除json或xml以外的其他任何內容時具有默認的json輸出。我已經配置了FOSRestBundle 1.1.0,如下所示:FOSRestBundle:如何配置備用格式
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
This works。當我這樣做,我可以不再格式之間的任何附加?_format=json
或?_format=xml
,也是接受頭部似乎被忽略切換
format_listener:
rules:
- { fallback_format: json, prefer_extension: false, priorities: ['xml', 'json'] }
,它總是使用不管我指定:現在我增加了如下配置在accept頭中。
如何配置FOSRestBundle,使其通過參數/ HTTP請求標頭接受json或XML 和如果瀏覽器接受的格式爲HTML,會回退到json?
雖然我已經多次閱讀文檔,但這個答案讓我找到了正確的解決方案。一個規則是不需要做這項工作;相反,我所缺少的是路由的默認格式,我已將其設置爲JSON。 – Felicitus