@mirus36

Angular 2 + Spring хрошо ли все делать на REST контроллерах?

Доброго времени суток. Изучаю Spring и Angular 2. Изучаю посредством написания веб-приложения, с использованием этих фреймворков. Приложение представляет собой панель управления некоторым сервером, реализующим бизнес логику. Доступ ко всем разделам приложения планируется сделать защищенным, для чего планируется использовать спринг секьюрити.
Собственно сам вопрос: ангуляру, как я вижу, совсем не нужны jsp на серверной стороне, ему нужно лишь подтягивать с сервера html для шаблонов, будет ли хорошей практикой в спрингах все делать через рест контроллеры возвращающие статичные html? А уже на них вешать секьюрити?
Вопрос возник, так как до этого в моей практике все делалось на jsp, и не видел примеров рест контроллеров возвращающих html.
Если вы знаете где достать уже готовые каркасы приложения, буду благодарен.
  • Вопрос задан
  • 1288 просмотров
Решения вопроса 1
jaxtr
@jaxtr
JavaEE/Spring-разработчик
Собственно сам вопрос: ангуляру, как я вижу, совсем не нужны jsp на серверной стороне, ему нужно лишь подтягивать с сервера html для шаблонов, будет ли хорошей практикой в спрингах все делать через рест контроллеры возвращающие статичные html? А уже на них вешать секьюрити?


Это будет очень плохая практика. Rest-контроллеры должны отдавать только ДАННЫЕ в удобном для клиента формате (JSON, XML, YAML и т.д.), иначе это уже не REST.
И "вешать секьюрити" на статические ресурсы не имеет смысла. За исключением случаев, когда в этих ресурсах есть защищённые данные, но наличие таких данных в статичных ресурсах в принципе противоречит защищённости.

Вопрос возник, так как до этого в моей практике все делалось на jsp, и не видел примеров рест контроллеров возвращающих html.


А их и нет в природе, Rest-контроллер, возвращающий представление, уже по определению не REST.

На мой взгляд HTML-представления нужно хранить отдельно и отдавать средствами сервлет-контейнера/веб-сервера. В идеале вся статика вообще должна находиться в другом проекте, так как набор REST-сервисов - это серверная сторона, а HTML-приложение - клиентская.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
ему нужно лишь подтягивать с сервера html для шаблонов


Если использовать только инлайн шаблоны то и это не нужно в принципе. Приложение на ангуляре самодостаточно, апишка используется как источник данных просто. Как база данных в приложениях на spring.

будет ли хорошей практикой в спрингах все делать через рест контроллеры возвращающие статичные html?


В этом практически нет смысла. Есть очень малый процент задач где от этого может быть какой-то профит, в целом же лучше сделать так что бы ангуляр приложение вообще не зависило от spring или java.
Ответ написан
qmax
@qmax
программер
Шаблоны html можно отдавать вообще как статический контент, через nginx или что у вас там.
Наврядли в них реализуется двойная шаблонизация, или содержатся nda-сведения.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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