CORS跨域配置
对于前后端分离的Web工程,后端接口可能由不只一个地址来提供,这就涉及一个跨域问题,具体可以参考/软件工程/Web前端/Web客户端编程/HTML5/浏览器同源策略
章节。
现代浏览器支持CORS
响应头,SpringMVC对该功能进行了集成,我们可以简单的标注几个注解来为preflight
请求的响应添加CORS头信息。
控制器使用CORS注解
下面例子代码实现了允许http://gacfox.com
页面跨域访问当前接口。
@RestController
@RequestMapping(value = "index")
public class IndexController {
@CrossOrigin(origins = "http://gacfox.com")
@GetMapping(value = "/demo")
public ApiResult demo() {
return ApiResult.success();
}
}
@CrossOrigin
注解标注了当前控制器方法支持跨域访问,origins
字段配置了允许的来源页面地址。
全局配置CORS
我们可以在Spring配置文件中,全局配置CORS响应头,下面是一个例子。
<mvc:cors>
<mvc:mapping path="/api/**" allowed-origins="http://gacfox.com"/>
</mvc:cors>
代码中,我们配置允许来自http://gacfox.com
的页面,跨域访问和/api/**
匹配的地址。
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。