Ошибка белого ярлыка Angular Spring Boot Packaging

У меня есть проект с Spring Boot в качестве бэкэнда и Angular в качестве фронта. Я собираю проект angular и копирую его содержимое в папку ресурсов Spring Boot, а в моем контроллере загрузки Spring я возвращаю index.html, созданный angular.

@Controller
public class IndexController {

    @Autowired
    ISupportedLanguagesRepository is;

    @RequestMapping(value = { "/", ""})
    public String getIndex() {
        return "index.html";
    }
}

А все остальные контроллеры - это вызовы REST api на бэкэнд. Все маршруты работают хорошо, когда я запускаю Spring Boot и Angular Project по отдельности.

Но когда я упаковываю их вместе, маршруты работают только тогда, когда вся навигация осуществляется через приложение. Но когда я напрямую пытаюсь получить URL-адрес, он дает мне это

Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Но он работает, когда я перехожу по этому маршруту из приложения.

Как мне решить эту проблему? Даже при обновлении на любой странице возникает та же ошибка.

пожалуйста, проверьте угловое развертывание angular.io/guide/deployment#server-configuration

ashish pal 21.11.2018 20:02

вы пробовали включить HashLocationStrategy? RouterModule.forRoot(routes, {useHash: true})

deelde 21.11.2018 23:15

ошибка выглядит как ошибка Spring и, возможно, связана с тем, что, когда вы переходите по этому URL-адресу напрямую, вы пропускаете вызовы сервера (ajax), которые были сделаны, когда вы перешли на этот URL-адрес из приложения, и которые инициализировали состояние в услуги / компоненты и так далее. Когда вы переходите по URL-адресу напрямую, возможно, эти вызовы не выполняются, состояние не инициализировано, и, следовательно, вы получаете ошибку.

John Donn 22.11.2018 00:24
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
3
1 465
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Эта проблема решена, как упоминал Дирк, с помощью {useHash: true} в маршрутах

Другие вопросы по теме