@postya

Как понять какие контроллеры нужны для веб приложения на Spring Boot?

Изучаю Spring Boot. Насколько я понял контроллеры ответственны за отображение html страниц и ответы на запросы пользователей.
Вот например, если есть веб приложение, в котором есть 6 вкладок:

-Properties
-Chat
-Calendar
-Offers
-Documents
-Settings

5cc29d630a53d258548436.jpeg

Каждая вкладка это отдельная html страница

Создавать в таком случае 6 контроллеров на каждую страницу?

Как понять какие контроллеры и сколько их нужно для веб-приложения?
  • Вопрос задан
  • 444 просмотра
Решения вопроса 1
@frozen_coder
Java-developer
Что мешает создавать их по мере необходимости? Более того, можно вообще сделать один убер-контроллер, который будет отвечать на всё, но никогда не делайте так :)

Контроллеры надо разделять по области их деятельности, по той проблеме, которую они решают. Он может отдавать не только же страницы, но и json'ы какие-нибудь - у вас же на странице может быть динамическое содержимое, которое нужно получать без перезагрузки всей страницы. А вдруг оно нужно ещё и на другой странице? Например список пользователей. У нас есть страница для отображения списка пользователей и мы в котроллере пользователей отдаём эту страницу, но где-то на другой странице тоже нужно отобразить список пользователей или вообще отдать просто через REST другой системе, логично метод, возвращающий json-списка пользователей разместить в этом же контроллере.

Другой путь поделить ваши контроллеры на котроллеры, которые отдают страницы и контроллеры, которые отдают json. Это, можно сказать, вкусовщина.

Вы делать начните, а там поймёте, как вам удобнее. Не надо бросаться делать сразу все контроллеры, делайте постепенно по областям все слои, потом переходите на другую область. Можно возвращаться же и править что-то. Разбейте задачу на подзадачи (декомпозируйте) по фичам вашего приложения и пилите фичами.

А если вы работаете в паре с фронтендером, то обязательно обудите с ним, какие ему нужны API и данные на клиенте - это также поможет вам решить ваши вопросы с контроллерами.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
norguhtar
@norguhtar
Биллинги в телекоме мой конек
Контроллеры лучше всего разделить по группам и функционалу. Каждый контроллер должен отвечать за свой небольшой и самодостаточный кусок действий. Сам по себе spring никак не накладывает ограничения по тому как будет организована обработка.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы