но я сразу скажу, что мне не нравится респонс-декоратор на мой взгляд лучше делать стримы, а нужные заголовки ставить в мидлварях на основе стримов респонса
Там на гифке видно, что контент выводится в трех форматах, html, json, xml. И это все настраивается в контейнере или конфиге роутов. Чтобы поменять вывод xml на json или наоборот, не надо ничего менять в контроллере или экшинах, только в конфиге.