можно задать несколько форматов ответов для разных случаев - в любом случае этому не место в контроллере