В настоящее время я занимаюсь разработкой простого веб-приложения с отдельным проектом внешнего интерфейса (Vue) и внутреннего интерфейса (API REST Quarkus). На данный момент я установил MVP, где внешний интерфейс отображает некоторые простые данные, которые вызываются из внутреннего интерфейса. Чтобы получить работающий MVP, мне нужно настроить поддержку CORS. Однако сначала я хочу объяснить мои настройки:
Настройка
Я начинаю разработку среды моего внешнего интерфейса с npm run serve
и моего бэкэнда с ./mvnw quarkus:dev
. Внешний интерфейс работает на localhost:8081
, а внутренний - на localhost:8080
. Heroku также позволяет запускать ваши приложения локально с помощью команды heroku local web
. Внешний интерфейс работает на порту 0.0.0.0:5001
, а внутренний - на 0.0.0.0:5000
.
Чтобы выполнить эту настройку, я установил два файла .env
на моем внешнем интерфейсе, которые указывают на мой серверный интерфейс API. Если я хочу работать в режиме разработки, загружается файл .env.development
:
VUE_APP_ROOT_API=http://localhost:8080
, а если я запускаю heroku local web
, загружается файл .env.local
с
VUE_APP_ROOT_API=0.0.0.0:5000
.
В моем бэкэнде я установил quarkus.http.cors=true
в моем application.properties
.
Теперь я хочу развернуть эти два проекта в Heroku и использовать их в производстве. Поэтому я настроил два проекта heroku и установил переменную config в своем проекте внешнего интерфейса со следующим значением:
VUE_APP_ROOT_API:https://mybackend.herokuapp.com
Вызовы из моего интерфейса успешно работают!
Вопрос
Для следующего шага я хочу еще больше ограничить его и просто включить мой интерфейс для вызова моего API. Я знаю, что могу установить что-то вроде
quarkus.http.cors.origins=myfrontend.herokuapp.com
Однако я не знаю, как я мог бы сделать это на quarkus с различными средами (разработка, локальная и производственная)? Я нашел эту ссылку , но я не знаю, как правильно настроить heroku и мое бэкэнд-приложение. Нужно ли настраивать разные профили, которые применяются в разных средах? Или есть другое решение? Нужны ли переменные Herokus Config?
Спасибо за помощь!