6.1 SpringBoot解决跨域,我推荐这2种超实用方案
在Spring Boot中解决跨域问题,可以通过以下两种常见方法:
- 使用Spring Boot提供的
@CrossOrigin
注解。
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@CrossOrigin(origins = "http://localhost:3000")
public class MyController {
@GetMapping("/data")
public String getData() {
return "Data";
}
}
- 使用全局配置。
在application.properties
或application.yml
中添加以下配置:
# application.properties
spring.servlet.multipart.max-file-size=128KB
spring.servlet.multipart.max-request-size=128KB
# 允许跨域的域,* 表示允许任何域
spring.servlet.multipart.max-file-size=128KB
spring.servlet.multipart.max-request-size=128KB
或者使用Java配置类:
import org.springframework.context.annotation.Bean;
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 CorsConfig {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://localhost:3000")
.allowedMethods("GET", "POST", "PUT", "DELETE");
}
};
}
}
以上两种方法可以有效解决Spring Boot应用中的跨域问题。第一种方法适合针对单一控制器解决跨域问题,第二种方法适合全局配置。根据实际需求选择合适的方法。
评论已关闭