Перенаправление на URL страницы angular из API-интерфейса restboot - PullRequest
0 голосов
/ 25 марта 2020

Я искал, как перенаправить на страницу angular из Spring boot api. Я пробовал много способов, но ни один не помог.


          Login Page
           |     |
          /       \
    admin page   regular page
  1. Я добавил proxy.conf. json и добавил URL-адрес API (не работал), и не рекомендуется для производства (я читаю здесь в stackoverflow)

  2. Добавлен RedirectView и передать URL, если это страница администратора или обычная страница, но у меня ошибка CORS содержимое поля заголовка запроса Тип доступа не разрешен Access-Control-Allow-Headers в предпечатном ответе. "

Чего мне не хватает? Пожалуйста, помогите.

Конфигурация My Cors :

    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**").allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
                        .allowedOrigins("http://localhost:4200)
                        .allowedHeaders("*")
                        .maxAge(1800);


            }
        };
    }

Моя конечная точка:

 @PostMapping(value = "/login")
    public RedirectView authenticate(@RequestBody RequestDTO request) {

        // some codes here for authResponse


        if (null != authResponse) {
            if (authResponse.isAdmin()) {
                 url = "/admin-profile";
            } else {
               url =  "/regular-profile";

            }
        }

     String appUrl = host + url;
     return RedirectView(appUrl);

1 Ответ

0 голосов
/ 25 марта 2020

Вы не можете напрямую перенаправить запрос API для изменения местоположения браузера. Если бы не ваши ошибки CORS, вы бы просто получили чепуху обратно в пользовательском интерфейсе, где вы вызывали API.

Что вам нужно сделать, это вместо того, чтобы перенаправлять из серверной части, посылать некоторые сортировка ошибок от внутреннего до внешнего интерфейса в ответ на запрос API, содержащего новый URL-адрес, и обработчик ошибок в внешнем интерфейсе, который изменяет местоположение браузера на URL-адрес. Я являюсь пользовательской ошибкой .

...