在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 { @Override public 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 { @Override public 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中实现跨域请求的几种方式,可以根据具体的需求选择适合的方式来实现跨域请求。