Я работаю над REST API с помощью FOSRestBundle, и я хотел бы иметь возможность использовать тот же URL для возврата HTML и JSON в зависимости от заголовок запроса Accept; т. е. если вы вызываете URL-адрес непосредственно из браузера (Accept : text/html
и т. д.), HTML возвращается из файла twig, если вы делаете запрос AJAX (Accept : application/JSON
и т. д.), JSON возвращается с использованием FOSRestBundle.Использование заголовков HTTP-запросов с маршрутизацией Symfony для возврата другого контента (html/json)
В настоящее время я могу заставить это работать, бросив небольшую инструкцию if в верхней части каждой функции, чтобы проверить заголовок запроса принятия, если он просит HTML, он возвращает файл twig, если он запрашивает JSON, он обращается к службе ,
Спасибо за ответ, без проблем с использованием заголовка accept, но я до сих пор не могу понять, как перенаправить на другой контроллер на основе заголовка. В настоящее время я использую один контроллер, чтобы определить тип, затем возвращая шаблон ветки или попав в мой сервис и возвращая JSON. Он работает, но это означает повторение одного и того же оператора if внутри каждой отдельной службы, что на самом деле не идеально. – greg