项目中遇到的跨域问题两种解决方式

第一种跨域解决方式

第一种就是我们平常使用的解决跨域问题的方法,但是要实现WebMvcConfigurer 接口,还需要导入web依赖,如果我们不引入web依赖,如何解决跨域呢?
答:看第二种方式

pom.xml

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId>
</dependency>

CorsConfig

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;/*** @author xjz_2002* @version 1.0*/
@Configuration
public class CorsConfig implements WebMvcConfigurer {//解决跨域请求问题@Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allowedOrigins("*").allowCredentials(true).allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS").maxAge(3600);}
}

第二种跨域解决方式

如果我们这个微服务模块不引入web依赖,只是用来做一个网关,遇到跨域问题可以中下面代码解决

package com.xjz.xjzliving.gateway.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;/*** 在 gateway 统一解决跨域问题* 不需要引入web依赖 实现去 WebMvcConfigurer接口 就可以解决跨域问题* @author xjz_2002* @version 1.0*/
@Configuration
public class XjzlivingGatewayCorsConfiguration {@Beanpublic CorsWebFilter corsWebFilter() {System.out.println("enter....");UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();CorsConfiguration corsConfiguration = new CorsConfiguration();//1、配置跨域corsConfiguration.addAllowedHeader("*");corsConfiguration.addAllowedMethod("*");corsConfiguration.addAllowedOrigin("*");corsConfiguration.setAllowCredentials(true);source.registerCorsConfiguration("/**", corsConfiguration);return new CorsWebFilter(source);}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/694382.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue2路由组件练习

Vue2路由组件练习 1. 演示效果 2. 代码分析 2.1. 安装 vue-router 命令&#xff1a;npm i vue-router 应用插件&#xff1a;Vue.use(VueRouter) 2.2. 创建路由文件 在 src 文件夹下&#xff0c;创建router文件夹&#xff0c;并在该文件夹创建index.js文件 2.3. 导入依赖…

K8S实战:Centos7部署Kubernetes1.20.0集群

目录 一、准备工作1.1、创建3台虚拟机1.1.1、下载虚拟机管理工具1.1.2、安装虚拟机管理工具1.1.3、下载虚Centos镜像1.1.4、创建3台虚拟机1.1.5、设置虚拟机网络环境 1.2、虚拟机基础配置&#xff08;3台虚拟机进行相同处理&#xff09;1.2.1、配置host1.2.2、关闭防火墙1.2.3、…

定档通知2024中国(深圳)国际眼健康产业展览会

时 间&#xff1a;2024年6月28&#xff5e;30日 地 点&#xff1a;深圳国际会展中心 ◆展会背景background&#xff1a; “十三五”时期&#xff0c;各地将儿童青少年近视防控纳入政府绩效考核&#xff0c…

String字符串,FastJson常用操作方法

JSON字符串操作 1、创建配置环境 # 引入测试包testImplementation group: org.springframework.boot, name: spring-boot-starter-test, version: 2.2.6.RELEASE # 创建测试类RunWith(SpringRunner.class)SpringBootTestpublic class JsonTest {Testpublic void test(){Syste…

云原生明星公司 Weaveworks 倒下,sealos 瑟瑟发抖?

Weaveworks 倒下&#xff0c;浅谈两句 同为云原生领域的创业者&#xff0c;我是否已经躲在角落里瑟瑟发抖&#xff1f;mesos(Mesosphere/D2IQ) 前不久刚倒下&#xff0c;这又来了一个&#xff0c;我对失败的案例尤为关心&#xff0c;为了不重蹈覆辙&#xff0c;通过仔细研究和…

关于Linux中使用退格键出现^H的问题解决

关于Linux中使用退格键出现^H的问题解决 今天在Linux下执行脚本和监听端口的输入时候&#xff0c;不小心输错内容想要删除用退格键发现变成了^H&#xff0c;从网上查了资料并且实际应用了一下&#xff08;我的虚拟机是CentOS7&#xff09;。 使用ctrl退格键即可成功删除内容 …

LeetCode.105. 从前序与中序遍历序列构造二叉树

题目 105. 从前序与中序遍历序列构造二叉树 分析 这道题是告诉我们一颗二叉树的前序和中序&#xff0c;让我们根据前序和中序构造出整颗二叉树。 拿到这道题&#xff0c;我们首先要知道前序的中序又怎样的性质&#xff1a; 前序&#xff1a;【根 左 右】中序&#xff1a;…

大模型相关(CPU与GPU和模型的蒸馏)

CPU与GPU上的运行效率差异 GPU上运行的两层3x3卷积层确实可以比一层5x5卷积层更快&#xff0c;而在CPU上情况可能正好相反。 原因&#xff1a;&#xff08;1&#xff09;并行处理能力&#xff1a;GPU拥有成百上千个小核心&#xff0c;能够同时处理大量计算任务&#xff0c;这对…

Linux用到的命令

1 压缩文件 tar -czf wonderful.tar.gz pm 这个命令的作用就是创建一个以.tar.gz结尾的包文件&#xff0c;然后调用gzip程序将当前目录下的pm文件夹压缩到这个以.tar.gz结尾的文件里面去

【已解决】PPT无法复制内容怎么办?

想要复制PPT文件里的内容&#xff0c;却发现复制不了&#xff0c;怎么办&#xff1f; 这种情况&#xff0c;一般是PPT文件被设置了以“只读方式”打开&#xff0c;“只读方式”下的PPT无法进行编辑更改&#xff0c;也无法进行复制粘贴的操作。 想要解决这个问题&#xff0c;我…

Swift基础知识:30.Swift访问控制

在 Swift 中&#xff0c;访问控制&#xff08;Access Control&#xff09;是一种用于限制代码模块对其他代码模块的访问权限的机制。通过访问控制&#xff0c;可以控制代码中各个部分的可见性和可访问性&#xff0c;以便于提高代码的安全性、可维护性和可复用性。 访问级别 S…

激光雷达反光板算法总结

1 高反特征提取 首先,从雷达原始数据,提取到高反点;根据雷达的规格书提供的不同材料的强度,设定合适的阈值;;更优的方法是根据距离设定不同的阈值 2 反光板及反光柱的聚类 根据高反点是否连续进行聚类,同时结合距离及雷达的角度分辨率,计算出针对不同尺寸的反光板或反…

TypeScript 枚举----迭代器

类似Python中的enumerate test.ts /* * 枚举 迭代器 * 支持&#xff1a;Array, Tuple, Map, String * */ function * enumerate(obj: unknown, start: number0){// Array or Tupleif (Array.isArray(obj)){let num startfor (let j of obj){yield [num, j]num 1}// Map}els…

多任务互斥及队列

一.互斥的引入 在FreeRTOS中&#xff0c;互斥&#xff08;Mutex&#xff09;是一种用于保护共享资源的机制。互斥锁可以确保同一时间只有一个任务能够访问共享资源&#xff0c;从而避免了竞态条件和数据不一致的问题。 FreeRTOS中互斥的引入方法&#xff1a; 创建互斥锁&#…

机器无root权限源码安装zsh

文章目录 1\. 下载并安装 ncurses2\. 下载并安装 zsh3\. 设置 zsh 为默认启动也可以更进一步安装 oh-my-zsh 很多情况下我们可能无法获取 机器的 root 超级用户权限&#xff0c;为了使用 zsh&#xff0c;我们可以自己独立使用源码编译安装并配置&#xff0c;只在自己的账号下使…

win10开机黑屏,explorer.exe文件找不到

一、问题 今天清理c盘时&#xff0c;不知道做了什么操作&#xff0c;把相关文件弄没了&#xff0c;然后电脑开机黑屏&#xff0c;进入不了桌面&#xff0c;能看见鼠标。 二、解决办法 网上搜了一些解决办法&#xff1a;ctrlshftdelete 打开任务管理器》运行新任务》输入expl…

MySQL数据库基础(十二):子查询(三步走)

文章目录 子查询&#xff08;三步走&#xff09; 一、子查询&#xff08;嵌套查询&#xff09;的介绍 二、子查询的使用 三、总结 子查询&#xff08;三步走&#xff09; 一、子查询&#xff08;嵌套查询&#xff09;的介绍 在一个 select 语句中,嵌入了另外一个 select …

JavaScript 中断请求的几种方法

中断Promise 中断Promise不等同于中止Promise,因为Promise是无法被终止的. 这里的中断指的是&#xff0c;在合适的时机&#xff0c;把pending状态的promise给reject掉。例如一个常见的应用场景就是给网络请求设置超时时间&#xff0c;一旦超时就中断。 还是用 setTimeout 来…

1027. 最长等差数列【leetcode】/动态规划

1027. 最长等差数列 给你一个整数数组 nums&#xff0c;返回 nums 中最长等差子序列的长度。 回想一下&#xff0c;nums 的子序列是一个列表 nums[i1], nums[i2], …, nums[ik] &#xff0c;且 0 < i1 < i2 < … < ik < nums.length - 1。并且如果 seq[i1] - …

《Linux C编程实战》笔记:消息队列

消息队列是一个存放在内核中的消息链表&#xff0c;每个消息队列由消息队列标识符标识。与管道不同的是消息队列存放在内核中&#xff0c;只有在内核重启&#xff08;即操作系统重启&#xff09;或显示地删除一个消息队列时&#xff0c;该消息队列才会被真正的删除。 操作消息…