最近在作一個先後端分離的項目, 前端用的是Vue後端使用的是springboot, 在項目整合的時候發現前端調用後端接口報錯403跨域請求問題前端
前端跨域請求已解決, 那麼問題就出在後端了, 找了一些資料找到了不少種方法, 這裏說兩個簡單粗暴的.java
注意:「@CrossOrigin「註解要求jdk1.8及以上版本, SpringMVC 4.2及以上版本web
1. 在controller層上添加@Configuration註解, 若是沒有效果請指定RequestMapping中的method類型在試一下.(此註解也能夠加在方法上)spring
@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, 問題解決跨域