у меня в веб-приложении есть роут "getGames". если юзер не авторизован должен возвращаться список игр. если авторизован, то должен еще возвращаться прогресс юзера. как это лучше сделать: проверять авторизацию getGames и добавлять в ответ данные, если юзер авторизован; или разделить логику на 2 роута: getGames - возвращает игры без прогресса + getMyProgress - возвращает прогресс пользователя. И на фронте уже "склеивать" ответы запросов?
Я бы разделил на 2 разных роута, если они не имеют какую то внутреннюю связанность. Попробую пояснить почему.
1. Проверка авторизации - не оч удобно делать проверку в контроллере, сервисе и т.д. по которому отдается разный контент. Проще сделать глобальную проверку, не авторизован, значит роут не доступен
2. Если не связанные данные, то для DRY будет более логичнее юзать разные эндпоинты
3. Неоднозначность эндпоинтов, при росте проекта условное именование getGames будет не оч явно описывать действие которое фактически выполняется
4. Если не дай бог логика будет зашита в контроллере, а не раскинута по разным сервисам вообще приведет к боли в дальнейшем. А соблазн так сделать будет крайне велик)