在SpringBoot中实现跨域请求可以通过以下几种方式:
1. 使用@CrossOrigin注解,可以直接在Controller层的方法上使用,用来指定允许跨域请求的来源、方法和头信息。例如:
@CrossOrigin(origins = "http://localhost:8080")
@RestController
@RequestMapping("/api")
public class TestController {@GetMapping("/hello")public String hello() {return "Hello, World!";}
}
2. 使用WebMvcConfigurer配置类来配置全局的跨域请求。例如:
@Configuration
public class CorsConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/api/**").allowedOrigins("http://localhost:8080").allowedMethods("GET", "POST", "PUT", "DELETE").allowedHeaders("Authorization");}
}
3. 使用CorsFilter过滤器来处理跨域请求。例如:
@Component
public class CorsFilter implements Filter {@Overridepublic void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletResponse res = (HttpServletResponse) response;res.setHeader("Access-Control-Allow-Origin", "http://localhost:8080");res.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");res.setHeader("Access-Control-Allow-Headers", "Authorization");chain.doFilter(request, response);}
}
以上是在Spring Boot中实现跨域请求的几种方式,可以根据具体的需求选择适合的方式来实现跨域请求。