Springboot如何解決前端請求跨域的問題
Springboot解決前端請求跨域
Access to fetch at from origin 'http://localhost:8080' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

原因
當(dāng)前端請求的端口和后端接受請求的端口不一致
解決
創(chuàng)建一個配置文件CorConfig.java,允許任何的請求頭、請求方法訪問。
此處是放開后端,允許前端訪問,只需要設(shè)置訪問源地址即可
package com.zhang.demo.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
@Configuration
public class CorsConfig {
// 當(dāng)前跨域請求最大有效時長。這里默認(rèn)1天
private static final long MAX_AGE = 24 * 60 * 60;
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("http://localhost:8080"); // 1 設(shè)置訪問源地址(允許這個網(wǎng)站訪問后臺)
corsConfiguration.addAllowedHeader("*"); // 2 設(shè)置訪問源請求頭
corsConfiguration.addAllowedMethod("*"); // 3 設(shè)置訪問源請求方法
corsConfiguration.setMaxAge(MAX_AGE);
source.registerCorsConfiguration("/**", corsConfiguration); // 4 對接口配置跨域設(shè)置
return new CorsFilter(source);
}
}
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Idea打包springboot項目沒有.original文件解決方案
這篇文章主要介紹了Idea打包springboot項目沒有.original文件解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-07-07
Java高性能實體類轉(zhuǎn)換工具M(jìn)apStruct的使用教程詳解
MapStruct 是一個代碼生成器,它基于約定優(yōu)于配置的方法,極大地簡化了 Java bean 類型之間的映射實現(xiàn),本文主要介紹了MapStruct的具體使用以及如何進(jìn)行實體類轉(zhuǎn)換,感興趣的可以了解下2024-03-03
SpringBoot通過整合Dubbo解決@Reference注解問題
這篇文章主要介紹了SpringBoot通過整合Dubbo解決@Reference注解問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-03-03
SpringBoot集成Redisson操作Redis的實現(xiàn)方法
Redisson是一個用于Java的Redis客戶端,它提供了在分布式環(huán)境下操作Redis數(shù)據(jù)庫的簡單、高效的方式,本文主要介紹了SpringBoot集成Redisson操作Redis的實現(xiàn)方法,具有一定的參考價值,感興趣的可以了解一下2024-03-03
Java基礎(chǔ)之詳細(xì)總結(jié)五種常用運算符
在通常代碼邏輯處理中,我們常常都會使用到運算符,今天我們就詳細(xì)了解一下運算符的使用以及分類.運算符是對常量或者變量進(jìn)行操作的符號,它分為算術(shù)運算符,賦值運算符,比較運算符,邏輯運算符以及位運算符.需要的朋友可以參考下2021-05-05
Java?21現(xiàn)代進(jìn)化實戰(zhàn)之如何用Records和模式匹配終結(jié)代碼臃腫
這篇文章主要介紹了Java?21現(xiàn)代進(jìn)化實戰(zhàn)之如何用Records和模式匹配終結(jié)代碼臃腫的相關(guān)資料,Record模式匹配是Java 21中最引人注目的特性之一,它擴展了Java 16引入的Record功能,使其能夠與模式匹配結(jié)合使用,需要的朋友可以參考下2026-04-04

