说明
- 资源请求的发起方与请求的资源不在同一个域中的;
- 一般的,只要网站的【协议名protocol】、【主机host】、【端口号port】这三个中的任意一个不同,网站间的数据请求与传输便构成了跨域调用;
- 跨域请求能够达到服务端,但是返回结果会被浏览器拦截;
处理方式
1、filter处理器
一般的处理方法,在Filter中拦截请求,在请求头中添加信息,例如:
setHeader("Access-Control-Allow-Origin","*")
2、@CrossOrigin注解
1、Spring 4.2之后提供了跨域注解 @CrossOrigin;
2、可以用在方法或Controller上;
3、Controller和方法上都有时,Spring会合并两个注解的属性一起使用;
@CrossOrigin
@RequestMapping("/obtainList")
public Map obtainList(){}
注解属性有以下7个
String[] value() default {}
String[] origins() default {}
String[] allowedHeaders() default {}
String[] exposedHeaders() default {}
RequestMethod[] methods() default {}
String allowCredentials() default {}
long maxAge() default -1L
网友评论