@postya

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

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

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

5cc29d630a53d258548436.jpeg

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

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы