Spring配置跨域

在开发的过程中会经常遇到一些跨域的问题,那么如何解决跨域的问题呢,今天我们用CORS解决跨域问题。

统一首发平台为-|信-*公|-号"轻梦致新",搜索关注-公|众-**号,第一时间阅读最新内容。

### Spring Boot/Spring MVC 中 CORS 配置详解 #### 使用 `@CrossOrigin` 注解配置 CORS 对于细粒度的资源访问控制,可以直接在控制器方法或整个控制器类上应用 `@CrossOrigin` 注解来启用 CORS 支持。这种方式适用于特定端点级别的权限管理。 ```java @RestController @RequestMapping("/api/users") public class UserController { @GetMapping("/{id}") @CrossOrigin(origins = "http://example.com", methods = {RequestMethod.GET}) public ResponseEntity<User> getUserById(@PathVariable Long id){ // 方法逻辑... return new ResponseEntity<>(new User(), HttpStatus.OK); } } ``` 此代码片段展示了如何利用 `@CrossOrigin` 来指定允许来自 http://example.com 的 GET 请求[^2]。 #### 全局 CORS 配置 当需要为多个端点设置相同的 CORS 策略时,可以通过实现 WebMvcConfigurer 接口并重写 addCorsMappings 方法来进行全局配置: ```java @Configuration public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") // 对所有路径生效 .allowedOrigins("*")// 允许任何源发起请求 .allowedMethods("GET","POST","PUT","DELETE","OPTIONS"); // 明确列出允许的方法 } } ``` 上述例子中,通过编程方式定义了一个覆盖所有 URL 路径 (`/**`) 的宽泛策略,同时指定了可接受的操作类型[^3]。 #### 基于过滤器的方式 另一种常见的做法是在应用程序入口处添加自定义 Filter 或者使用内置的 CorsFilter 实现更底层的拦截机制。不过这种方法相对复杂些,并不推荐作为首选方案除非有特殊需求[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值