@CrossOrigin是干嘛的
时间: 2024-12-05 09:14:00 浏览: 16
@CrossOrigin是Spring框架中的一个注解,用于处理跨域资源共享(CORS,Cross-Origin Resource Sharing)。CORS是一种机制,它使用额外的HTTP头来告诉浏览器允许哪些跨域请求。通过使用@CrossOrigin注解,可以轻松地配置控制器(Controller)方法的跨域请求策略。
具体来说,@CrossOrigin注解可以应用于类或方法上,用于允许来自不同源的请求访问该类或方法。以下是一些常见的配置选项:
1. origins:指定允许的源。例如,@CrossOrigin(origins = "http://example.com")。
2. methods:指定允许的HTTP方法。例如,@CrossOrigin(methods = {RequestMethod.GET, RequestMethod.POST})。
3. allowedHeaders:指定允许的请求头。
4. exposedHeaders:指定在响应中暴露的响应头。
5. allowCredentials:指定是否允许发送凭证(如Cookie)。
6. maxAge:指定预检请求(preflight request)的缓存时间。
例如:
```java
@RestController
@RequestMapping("/api")
public class MyController {
@CrossOrigin(origins = "http://example.com")
@GetMapping("/data")
public String getData() {
return "Some data";
}
}
```
在上述例子中,getData方法允许来自http://example.com的跨域请求。
阅读全文