какой стрим реализуешь, так он и будет работать
Не надо рассматривать какие-то сложные нестандартные кейсы, вроде твоего рендера через генераторы. Есть простые кейсы, которых подявляющее большинство. Отдал из контроллера массив или DTO и форматтером преобразовал в xml|json, все.