Обычно полезно следовать принципам REST .
Идея довольно проста - каждый «ресурс» должен отображаться на контроллер (подход # 2).
Тем не менее, я думаю, что лучше «разрезать вдоль естественных соединений».
Имея это в виду, иногда разложение (деление на большее количество контроллеров) просто ради этого приводит к ненужной сложности.Контроллеры должны отображаться в соответствии с Вашими вариантами использования.
Начинайте с одного (который кажется наиболее важным) и переходите к следующему, когда текущий превышает ~ 100 loc.