五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

SpringBoot 如何解決跨域問題?

2023-08-30 15:17 作者:程序員的勇敢  | 我要投稿

跨域問題應(yīng)該是我們?nèi)粘i_發(fā)中比較常見的,在Spring Boot應(yīng)用中,通常解決跨域問題(Cross-Origin Resource Sharing,CORS)有如下四種方法:

1. 使用 @CrossOrigin 注解

在Controller類或方法上使用@CrossOrigin注解可以很容易地解決跨域問題。這是最簡單和最直接的方法。

?@RestController
?@CrossOrigin(origins?=?"http://example.com")?// 允許該域名的跨域訪問
?public?class?MyController?{
?
??? ?@GetMapping("/some-resource")
??? ?public?String?someResource() {
??? ? ? ?return?"Hello, World!";
??? }
?}

2. 全局CORS配置

可以在Spring Boot應(yīng)用中添加全局CORS配置。這通常通過實現(xiàn)WebMvcConfigurer接口完成。

?@Configuration
?public?class?WebConfig?implements?WebMvcConfigurer?{
?
??? ?@Override
??? ?public?void?addCorsMappings(CorsRegistry?registry) {
??? ? ? ?registry.addMapping("/**") ?// 對所有路徑應(yīng)用CORS配置
??? ? ? ? ? .allowedOrigins("http://example.com")
??? ? ? ? ? .allowedMethods("GET",?"POST",?"PUT",?"DELETE")
??? ? ? ? ? .allowedHeaders("Header1",?"Header2",?"Header3")
??? ? ? ? ? .exposedHeaders("Header1",?"Header2")
??? ? ? ? ? .allowCredentials(true).maxAge(3600);
??? }
?}

3. 使用 CorsFilter

除了使用@CrossOrigin和全局配置,還可以通過自定義CorsFilter來解決跨域問題。

?@Configuration
?public?class?MyConfiguration?{
?
??? ?@Bean
??? ?public?CorsFilter?corsFilter() {
??? ? ? ?UrlBasedCorsConfigurationSource?source?=?new?UrlBasedCorsConfigurationSource();
??? ? ? ?CorsConfiguration?config?=?new?CorsConfiguration();
??? ? ? ?config.addAllowedOrigin("http://example.com");
??? ? ? ?config.addAllowedHeader("*");
??? ? ? ?config.addAllowedMethod("*");
??? ? ? ?source.registerCorsConfiguration("/**",?config);
??? ? ? ?return?new?CorsFilter(source);
??? }
?}

4. 使用 @ControllerAdvice@ModelAttribute

在某些情況下,你也可以使用@ControllerAdvice@ModelAttribute來全局處理請求和響應(yīng),從而手動設(shè)置CORS相關(guān)的HTTP頭。

?@ControllerAdvice
?public?class?GlobalAdvice?{
?
??? ?@ModelAttribute
??? ?public?void?setCORSHeaders(HttpServletResponse?response) {
??? ? ? ?response.setHeader("Access-Control-Allow-Origin",?"http://example.com");
??? ? ? ?// 其他CORS相關(guān)設(shè)置
??? }
?}


SpringBoot 如何解決跨域問題?的評論 (共 條)

分享到微博請遵守國家法律
阜阳市| 博爱县| 如东县| 上林县| 黄冈市| 巫溪县| 邹平县| 奉新县| 巴中市| 个旧市| 阳东县| 潍坊市| 电白县| 闻喜县| 峨山| 扶余县| 沁水县| 贺兰县| 图们市| 龙泉市| 闸北区| 威信县| 新兴县| 开鲁县| 南靖县| 赤峰市| 遂溪县| 鱼台县| 邹城市| 布尔津县| 福贡县| 崇州市| 岚皋县| 桓仁| 东源县| 依安县| 永登县| 沁源县| 肇源县| 玉门市| 武定县|