Как работает Cross Origin между Spring Boot и Angular Cli? - PullRequest
0 голосов
/ 12 марта 2019

Я следую этому уроку Spring / Angular

Когда я запускаю свое приложение, я получаю эту ошибку:

Доступ к XMLHttpRequest на 'http://localhost:8080/api/employees' from origin 'http://localhost:4200' заблокировано политикой CORS: на запрошенном ресурсе отсутствует заголовок' Access-Control-Allow-Origin '.

I красные разные вопросы' о Cross Origin, ноЯ не знаю точно, где его вставить и что вставить, потому что в учебнике никогда не показывайте и не используйте его.

Ответы [ 5 ]

0 голосов
/ 12 марта 2019
In Tomcat `web.xml` file set these cors.
`<filter>
    <filter - name> CorsFilter </filter-name> 
    <filter - class> org.apache.catalina.filters.CorsFilter </filter-class> 
</filter>
<filter - mapping>
    <filter - name> CorsFilter </filter-name>
    <url - pattern>/*</url-pattern>
</filter-mapping>`
0 голосов
/ 12 марта 2019
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration
public class CORSConfiguration  {

   @SuppressWarnings("deprecation")
    @Bean
        public WebMvcConfigurer corsConfigurer()
        {
            return new WebMvcConfigurerAdapter() {
                @Override
                public void addCorsMappings(CorsRegistry registry) {
                    registry.addMapping("/**").allowedMethods("GET", "PUT", "POST", "DELETE", "OPTIONS");
                }    
            };
        }
}
0 голосов
/ 12 марта 2019

Cross origin не имеет ничего общего с внешним интерфейсом.Все, что вам нужно сделать, это разрешить URL-адрес внешнего интерфейса в конце.Обычно мы пишем CORS-фильтр в серверной части и разрешаем входной URL-адрес там.

Следуйте этому руководству CORS с пружиной

0 голосов
/ 12 марта 2019

ОБНОВЛЕНИЕ

Я создаю класс с аннотацией @Configuration на моей стороне сервера (Spring):

package it.si2001.SpringBootJPACRUDExample.configuration;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
public class CORSConfiguration implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**").allowedHeaders("*")
                .allowedMethods("GET", "POST", "DELETE");
    }
}//close class
0 голосов
/ 12 марта 2019

Вы можете добавить proxy.config.json

{
  "/application1/rest": {
    "target": "http://localhost:8060/",
    "secure": false
  },
 "/anotherapp": {
    "target": "http://localhost:8060/",
    "secure": false
  }  
}

Затем выполните команду:

directory\angular> ng serve --proxy-config proxy.config.json
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...