张国伟 发表于 2026-2-14 04:48:59

SpringBoot 怎样处置惩罚跨域哀求

SpringBoot 处置惩罚跨域哀求,通常是通过设置全局的 CORS(跨源资源共享)战略来实现的。CORS 是一种机制,它使用额外的 HTTP 头部来告诉欣赏器,让运行在一个 origin (domain) 上的 web 应用被允许访问来自差别源服务器上的指定的资源。
在 SpringBoot 应用中,可以通过几种方式来实现 CORS 支持:
1. 使用 @CrossOrigin 注解

你可以在你的 Controller 或方法上使用 @CrossOrigin 注解来允许跨域哀求。这个注解提供了机动的设置选项,好比允许哪些域名、HTTP 方法等。
@RestController
@CrossOrigin(origins = "http://example.com")
public class MyController {

    @GetMapping("/greeting")
    public String greeting() {
      return "Hello, World!";
    }
}
大概,只在特定的方法上应用:
@RestController
public class MyController {

    @GetMapping("/greeting")
    @CrossOrigin(origins = "http://example.com")
    public String greeting() {
      return "Hello, World!";
    }
}
2. 自界说 CORS 设置

对于更复杂的 CORS 需求,你可以通过实现 WebMvcConfigurer 接口并覆盖 addCorsMappings 方法来全局设置 CORS。
@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
      registry.addMapping("/**")
            .allowedOrigins("http://example.com")
            .allowedMethods("GET", "POST", "PUT", "DELETE")
            .allowedHeaders("*")
            .allowCredentials(true);
    }
}
在这个例子中,addMapping("/**") 体现对全部路径都应用 CORS 战略,allowedOrigins 设置了允许访问的源,allowedMethods 设置了允许的 HTTP 方法,allowedHeaders 允许任何头部信息,allowCredentials(true) 体现允许发送 Cookies。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金
页: [1]
查看完整版本: SpringBoot 怎样处置惩罚跨域哀求