spring项目加上@CrossOrigin还是咩用
时间: 2024-01-05 17:12:01 浏览: 120
@CrossOrigin注解是用于解决跨域访问的问题。在Spring项目中,当你的前端应用和后端接口运行在不同的域名或端口上时,浏览器会阻止这种跨域访问,为了允许跨域访问,你可以在需要允许跨域访问的Controller类或方法上添加@CrossOrigin注解。
@CrossOrigin注解有一些属性可以配置,比如allowedOrigins、allowedMethods、allowedHeaders等。allowedOrigins属性用于指定允许访问的源(域名或IP地址),默认允许所有源访问;allowedMethods属性用于指定允许的HTTP请求方法,默认允许所有方法;allowedHeaders属性用于指定允许的HTTP请求头,默认允许所有请求头。
例如,如果你想允许所有源、所有方法和所有请求头访问某个Controller的接口,可以在该Controller的类级别或方法级别上添加@CrossOrigin注解,不传入任何属性值即可:
```java
@CrossOrigin
@RestController
public class MyController {
// ...
}
```
如果你想更精确地控制跨域访问,可以根据需要配置@CrossOrigin注解的属性值。例如,只允许特定源(如http://example.com)的GET和POST请求访问:
```java
@CrossOrigin(origins = "http://example.com", methods = {RequestMethod.GET, RequestMethod.POST})
@RestController
public class MyController {
// ...
}
```
需要注意的是,@CrossOrigin注解只对浏览器发起的跨域请求有效,对于非浏览器发起的请求(如HTTP客户端或移动应用),无法通过@CrossOrigin注解解决跨域问题。
阅读全文