Appearance
在这段代码中,后端的Spring Boot项目使用了一个跨域配置类(CorsAllConfig),它允许特定的前端来源进行跨域请求。下面我会对每行代码进行解释,并给出解决跨域问题的方法。
代码注释如下: package com.dhcc.common.config; // 定义了这个类的包位置
import org.springframework.context.annotation.Configuration; // 导入Configuration注解,表明这是一个配置类 import org.springframework.web.servlet.config.annotation.CorsRegistry; // 导入跨域配置注册类 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; // 导入WebMvcConfigurer接口,该接口中定义了一些回调方法,用于自定义Spring MVC的配置
@Configuration // 声明这个类是一个配置类 public class CorsAllConfig implements WebMvcConfigurer { // 这个类实现了WebMvcConfigurer接口,用来自定义Spring MVC的配置
@Override // 重写了WebMvcConfigurer接口的addCorsMappings方法 public void addCorsMappings(CorsRegistry registry) { // 使用跨域配置注册类来添加跨域配置 registry.addMapping("/CDbadbehaviour") // 指定需要跨域的路径,这里的"/CDbadbehaviour"应该改为你需要的路径,或者使用"/**"来表示所有路径都允许跨域 // .allowedOrigins("https://www.cwhida.org.cn") // 允许这个源进行跨域请求,注释了,所以目前不生效 // .allowedOrigins("https://scjg.mwr.cn") // 允许这个源进行跨域请求,注释了,所以目前不生效 .allowedOrigins("http://192.168.1.108:5173") // 允许这个源进行跨域请求 .allowedMethods("GET", "POST", "PUT", "OPTIONS", "DELETE", "PATCH") // 允许这些HTTP方法进行跨域请求 .allowedHeaders("*") // 允许所有的HTTP头信息进行跨域请求 .allowCredentials(true); // 允许请求带有凭证信息,如cookies等 }
例如,假设你的前端运行在http://localhost:3000,那么可以修改allowedOrigins方法的参数为http://localhost:3000。同时,你需要将addMapping方法的参数修改为/hzz/inspectionTask/getTaskRecordCount或者/**以允许跨域请求。
修改后的代码如下: @Configuration public class CorsAllConfig implements WebMvcConfigurer {
@Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOrigins("http://localhost:3000") .allowedMethods("GET", "POST", "PUT", "OPTIONS", "DELETE", "PATCH") .allowedHeaders("*") .allowCredentials(true); }
} 注意,这个只是一个例子,你需要将allowedOrigins方法的参数改为你的前端实际运行的地址。
