Một phần của đơn đăng ký của tôi sẽ có sẵn là API, vì vậy một số trang của tôi cần phải có sẵn trong JSON hoặc XML (dựa trên tiêu đề Chấp nhận 'Loại nội dung').Symfony2 + FOSRestBundle: Bật/tắt chức năng REST cho mỗi bộ điều khiển/tác vụ?
Tôi đã sử dụng FOSRestBundle và nó hoạt động rất tốt, nhưng bây giờ ALL trang của tôi có sẵn trong XML (hoặc JSON) khi gửi Chấp nhận tiêu đề 'Content Type: application/xml.
Vì vậy, tôi muốn bật/tắt chức năng này cho một số bộ điều khiển/hành động của tôi. Tôi sẽ là lý tưởng để làm điều này bằng cách sử dụng chú thích.
Điều đó có khả thi không?
config.yml của tôi:
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
Âm thanh tốt đẹp, nhưng nó dường như không làm việc. –
Nó hoạt động cho tôi. Bạn có sử dụng đúng lớp chú thích 'View' không? bạn có thể cung cấp thêm thông tin không? –
Nếu bạn 'sử dụng FOS \ RestBundle \ Controller \ Chú thích là Phần còn lại;', chú thích của bạn phải là '@Rest \ View' thay vì' @ View' – alexismorin