Я пытаюсь заставить свои веб-сервисы возвращать правильный формат при отправке с заголовком Accept. Например, если я отправлю «Принять: приложение/xml», он должен вернуться в формате xml, а если я отправлю «Принять: приложение/json», должен вернуться в формате json.
Это отлично работает, если я поставлю расширение. http://example.com/api/users.json возвращает json, а http://example.com/api/users.xml возвращает XML. Но если я не ставлю расширения, он всегда возвращает json, полностью игнорируя заголовок Accept.
Как я могу настроить его таким образом, чтобы при отсутствии расширения он возвращал все, что запрашивается в заголовке Accept?
Мой файл конфигурации:
fos_rest:
format_listener: true
routing_loader:
default_format: json
view:
view_response_listener: 'force'
formats:
json: true
xml: true
templating_formats:
html: true
serializer:
serialize_null: true
sensio_framework_extra:
view: { annotations: false }
router: { annotations: true }
Также пробовал это:
format_listener:
rules:
- prefer_extension: false
В результате была ошибка:
Не удалось найти шаблон "WhateverBundle:Users:getUsers.html.twig"