当前位置: 首页 > news >正文

SpringBoot配置跨域

1)@CrossOrigin注解配置跨域(局部配置

  写在 方法 上,对一个方法配置跨域

import org.springframework.web.bind.annotation.*;@RestController
public class TestController {//对当前接口配置跨域@CrossOrigin@GetMapping("/hello")String getHello(){return "get hello";}
}

  写在控制层类上,对这个Controller类中所有处理请求方法配置跨域

import org.springframework.web.bind.annotation.*;//对当前接口配置跨域
@CrossOrigin
@RestController
public class TestController {@GetMapping("/hello")String getHello(){return "get hello";}@PostMapping("/hello")String postHello(){return "post hello";}
}

2)自定义CorsFilter拦截器配置跨域(全局配置

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 {@BeanCorsFilter corsFilter(){CorsConfiguration corsConfiguration = new CorsConfiguration();corsConfiguration.addAllowedOrigin("*");corsConfiguration.addAllowedHeader("*");corsConfiguration.addAllowedMethod("*");UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**",corsConfiguration);return new CorsFilter(source);}
}

3)实现WebMvcConfigurer接口配置跨域(全局配置

  通过实现addCorsMappings方法进行配置

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configuration
public class CorsConfiguration implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOriginPatterns("*").allowedHeaders("*").allowedMethods("*").allowCredentials(true)    .maxAge(3600);}
}

相关文章:

  • Java面试题之mysql
  • 【排序算法】冒泡排序
  • VMWare ESXi安装留档
  • Linux修改文件名常见的三种方式
  • MQTT协议解析:揭秘固定报头、可变报头与有效载荷的奥秘
  • 网络基本类型
  • 小狐狸chat2.7.2免授权修复版可用版
  • unity shaderGraph实例-物体线框显示
  • 基于ZYNQ的PCIE高速数据采集卡的设计(五)上位机软件设计
  • 力扣28--找出字符串中第一个匹配项的下标(滑动窗口解决)
  • 如何在 Angular 中使用 NgTemplateOutlet 创建可重用组件
  • Qt5转Qt6笔记
  • npm 镜像源切换与设置
  • kafka学习问题
  • 【矩阵】计算矩阵边缘元素之和
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • 【个人向】《HTTP图解》阅后小结
  • CSS 三角实现
  • express.js的介绍及使用
  • Js基础知识(一) - 变量
  • js算法-归并排序(merge_sort)
  • Lsb图片隐写
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • spring-boot List转Page
  • Spring框架之我见(三)——IOC、AOP
  • 创建一种深思熟虑的文化
  • 给Prometheus造假数据的方法
  • 后端_ThinkPHP5
  • 机器学习中为什么要做归一化normalization
  • 收藏好这篇,别再只说“数据劫持”了
  • 微信小程序:实现悬浮返回和分享按钮
  • 以太坊客户端Geth命令参数详解
  • Semaphore
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • #单片机(TB6600驱动42步进电机)
  • (C++17) std算法之执行策略 execution
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (力扣)1314.矩阵区域和
  • (十一)c52学习之旅-动态数码管
  • (一) springboot详细介绍
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)http-server应用
  • (转)我也是一只IT小小鸟
  • (转载)(官方)UE4--图像编程----着色器开发
  • (转载)CentOS查看系统信息|CentOS查看命令
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • (转载)深入super,看Python如何解决钻石继承难题
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .net core 6 集成和使用 mongodb
  • .net wcf memory gates checking failed
  • .net反编译的九款神器
  • .NET连接MongoDB数据库实例教程