在實際開發中,我們經常會遇到前端和後端不在一個域內導致的跨域問題。常見的我們會在服務端增加返回頭的方式允許跨域。
通常我們是在攔截器或過濾器中對response手動設置返回頭的方式支持跨域。
其實SpringMVC已經爲我們想到了這一點,提供了CorsRegistry
給我們配置跨域。具體代碼如下(當然SpringBoot也是一樣的):
@Configuration
public class CustomWebMvcConfigurerAdapter extends WebMvcConfigurerAdapter {
// 跨域
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*").allowedMethods("GET", "POST", "OPTIONS");
}
}
這種方式更智能,它會判斷請求是否跨域,如果是跨域的才返回相應的返回頭,不跨域的當然就不用返回。
更多幹貨,可訪問我的個人網站:https://zhangzw.com,謝謝!