基于controller配置允许跨域
- 加在方法上允许跨域
@RestController
@RequestMapping("/test")
public class TestController {
@CrossOrigin(value = "*", maxAge = 3600)
@GetMapping("/{id}")
public String get(@PathVariable Long id) {
// ...
}
@DeleteMapping("/{id}")
@CrossOrigin(origins = "http://domain2.com", maxAge = 3600)
public void delete(@PathVariable Long id) {
// ...
}
}
- 为整个controller允许跨域
@RestController
@RequestMapping("/test")
@CrossOrigin(value = "*", maxAge = 3600)
public class TestController {
@GetMapping("/{id}")
public String get(@PathVariable Long id) {
// ...
}
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) {
// ...
}
}
value : 默认为*,允许所有来源
origins : 允许可访问的域列表
maxAge:准备响应前的缓存持续的最大时间(以秒为单位),不设置默认1800。

本文介绍了如何在SpringBoot应用中通过基于Controller的配置、全局CORS配置解决跨域问题,并详细讲解了在SpringCloudGateway网关上配置跨域的方法,以实现微服务环境下的跨域访问。注意,全局CORS配置需指定允许的域,SpringMVC版本要求在4.2及以上,而SpringCloudGateway的跨域配置适用于spring-web 5.x+。
最低0.47元/天 解锁文章
2569

被折叠的 条评论
为什么被折叠?



