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]