解决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, 问题解决

posted @ 2019-09-02 14:31  宅男大咖  阅读(9940)  评论(0编辑  收藏  举报