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