解决Vue调用springboot接口403跨域问题
最近在做一个前后端分离的项目, 前端用的是Vue后端使用的是springboot, 在项目整合的时候发现前端调用后端接口报错403跨域请求问题
前端跨域请求已解决, 那么问题就出在后端了, 找了一些资料找到了很多种方法, 这里说两个简单粗暴的.
注意:“@CrossOrigin“注解要求jdk1.8及以上版本, SpringMVC 4.2及以上版本
1. 在controller层上添加@Configuration注解, 如果没有效果请指定RequestMapping中的method类型在试一下.(此注解也可以加在方法上)
@RestController
public class Demo { @Configuration @RequestMapping("test) public String test() { // 这里是代码 } }
@Configuration
@RestController public class Demo { @RequestMapping("test) public String test() { // 这里是代码 } }
2. 上面的方法解决的是部分功能的跨域问题, 有的时候我们需要全局跨域, 那么可以配置一个config类, 新建一个java文件, 代码如下
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; @SuppressWarnings("deprecation") @Configuration public class MyConfiguration { @Bean public WebMvcConfigurer corsConfigurer() { return new WebMvcConfigurerAdapter() { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**"); } }; } }
OK, 问题解决