profyan
@profyan
Фронтовой на маркетплейсе

Spring boot restful взаимодействие backend с frontend?

Всем привет. Пишу SPA приложение. Столкнулся с проблемой взаимодействия backend, написанного на Java с использованием Spring Boot 2, и frontend, использующий vue.js. Суть вопроса: как правильно организовать доступ к сайту? Насколько я понял есть 2 способа:
  1. Spring запущен на удаленном сервере. В папке ресурсов находится index.html, скрипты и прочий статический контент. При любом запросе не к API, Spring возвращает index.html.
  2. Frontend запущен на отдельном сервере через node.js окружение. Все запросы к сайту идут туда, а vue.js посылает запросы к api на другой удаленный сервер к Spring.


Я попытался реализовать 1 вариант, но столкнулся с множеством проблем, т.к. Spring MVC в первую очередь MVC, а не REST. Поэтому приходится мудрить всякие обходы того, чтобы все запросы перенаправлялись на index.html, отдельно как-то обрабатывать ресурсы, да еще и Spring Security со своим доступом к ресурсам головняки создает. Короче, я очень много времени потратил, но не совсем получилось это реализовать.

Поэтому сейчас хочу попробовать 2 вариант, но тут уже нужно настраивать CORS, да и наверное это дороже будет запускать.. Но возможно ошибаюсь.

Собственно вопрос: как сейчас принято делать, а быть может есть еще какие-то варианты, которые активно используются сейчас?
  • Вопрос задан
  • 2562 просмотра
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Spring MVC в первую очередь MVC, а не REST

Вы сравниваете мягкое с тёплым. REST - это соглашение о формате запросов/ответов, а MVC - это архитектура приложения. Причём, RESTful-сервисы как раз очень хорошо реализуются в рамках MVC.

столкнулся с множеством проблем

Создавайте вопросы с конкретными проблемами и вам помогут их решить.

еще и Spring Security со своим доступом к ресурсам головняки создает

Если его изучить, он наоборот начинает помогать.

Поэтому сейчас хочу попробовать 2 вариант

Это какой-то странный вариант с дополнительной точкой отказа и усложнением сопровождения.
Ответ написан
Ваш ответ на вопрос

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

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