Spring Boot和Angular Cli之间的交叉原点是如何工作的?
我正在学习这个教程 当我运行我的应用程序时,出现以下错误: CORS策略已阻止从源“”访问“”处的XMLHttpRequest:请求的资源上不存在“访问控制允许源”标头 关于交叉原点,我提出了不同的问题,但我不知道确切的插入位置和插入内容,因为在教程中从未显示或使用过它。您可以添加proxy.config.json 然后使用以下命令运行:Spring Boot和Angular Cli之间的交叉原点是如何工作的?,angular,spring,spring-boot,Angular,Spring,Spring Boot,我正在学习这个教程 当我运行我的应用程序时,出现以下错误: CORS策略已阻止从源“”访问“”处的XMLHttpRequest:请求的资源上不存在“访问控制允许源”标头 关于交叉原点,我提出了不同的问题,但我不知道确切的插入位置和插入内容,因为在教程中从未显示或使用过它。您可以添加proxy.config.json 然后使用以下命令运行: directory\angular> ng serve --proxy-config proxy.config.json 交叉原点与前端无关。您所需要
directory\angular> ng serve --proxy-config proxy.config.json
交叉原点与前端无关。您所需要做的就是允许前端的URL位于后端。通常我们在后端编写CORS过滤器,并允许前端url在其中
按照本教程进行更新 我在服务器端(Spring)创建了一个带有@Configuration注释的类: 在Tomcat`web.xml`文件中设置这些COR。 ` 克斯菲尔特 org.apache.catalina.filters.CorsFilter 克斯菲尔特 /* `
添加一些实现,它与
directory\angular> ng serve --proxy-config proxy.config.json
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
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");
}
};
}
}
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>`