在用 Spring Boot 开发服务时,如果客户端是 H5 的应用,通常会遇到跨域问题。 在 Spring Boot 中,提供了多种方法来处理该问题。下面我们就简单的给大家介绍一下。
使用 @CrossOrigin 注解
破解跨域最简单的方法就是在 Controller 类中加入 @CrossOrigin, 代码如下:
1 |
|
当然, @CrossOrigin 注解可以配置很多参数,具体可以参考官方文档,在这里就不一一赘述了。
使用 CorsRegistry
如果觉得上一种方法需要在每个 Controller 中加入注解比较麻烦,那也可以在配置类中加入一个应用级的跨域处理。代码如下:
1 |
|
该类必须继承自 WebMvcConfigurationSupport, 然后覆盖 addCorsMappings 方法,然后在方法中用代码对跨域的情况做具体的配置。
拦截器中的处理
如果在系统中使用了拦截器(注意: 不是Filter), 则需要在拦截器中对跨域做一些特别的处理,比如下面的代码,在 preHandle 中对跨域进行了处理:
1 |
|