前后端分离------后端创建笔记(03)前后端对接(上)
本文章转载于【SpringBoot+Vue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客
仅用于学习和讨论,如有侵权请联系
源码:https://gitee.com/green_vegetables/x-admin-project.git
素材:https://pan.baidu.com/s/1ZZ8c-kRPUxY6FWzsoOOjtA 提取码:up4c
项目概述笔记:https://blog.csdn.net/m0_37613503/article/details/128961102
数据库笔记:https://blog.csdn.net/m0_37613503/article/details/128961401
前端笔记:https://blog.csdn.net/m0_37613503/article/details/128961447
后端笔记:https://blog.csdn.net/m0_37613503/article/details/128961569
1、获取用户信息接口---下
1.1 SQL语句准备好了,我们想调他,还得准备一个sql接口
1.2 Mapper接口要与id保持一致
1.3 写一个返回值类型,这里可以用注解写sql语句
2 写完之后,回到userSiver里面,现在想拿角色就随便去拿了,我们用刚才写的方法,传入id,这样我们就能够得到我们的角色列表
2.1 起名字roles
2.2 角色列表也塞进去了,然后返回一下数据,return data,可以得到一个角色列表,同时前端的名称是roles
2.3 重新运行一下,再打开postman,打开我们的登录接口,,让我测试一下我们的token
2.4 点一下发送
2.5 token,在这里,前后端必须使用的软件是postman
2.6 我们新建一个请求
2.7 我们带上一个参数
2.8 直观的填写token
2.9 发送一下请求,获取用户地址,头像,地址都查出来了
3 除了登录之外,还要注销接口,以前我们用的是session,现在是在redis里,如何去掉token,开始前我们要牢记他是一个post请求,先点一下注销
3.1 logout 请求出来了
3.2 后期token都会在请求头里出现
3.3 文件里有拦截器,有响应拦截器等等,第一个是响应拦截器
3.4 请求拦截器,他在响应之前帮你做了一件事,帮你塞了一个token进来
3.5 参数到请求头里面获取,然后把他放到redis删除掉
3.6 写上那个token的名字
3.7 把token给他传过去,
3.8 把数据返回过去
3.9 logout方法并没有创建,此时我们将他创建一下
3.10 这里有个错误提示,在sevice中有个类没有实现,按住ctrl点击即可
3.11实现一下类
3.12 他的实现逻辑非常简单,token传进来,然后删掉
3.13 打开redis的管理工具
3.14 看一下我们redis里面的数据
3.15 里面有一条数据是我们刚才测试的数据
3.16 我再来侧一次登录
3.17 8513数据已经写到了我们redis里面了
3.18 我測試要複製鍵名
3.19 要坐请求登录的测试,他的请求方式是post
3.20 他需要带一个参数,他带的参数放到header里
3.21 在这里写一个名字,名字是x-token,然后点击send
3.22 他说成功,redis有没有被刷掉
3.23redis数据被刷掉了,以上三个接口都写好了(搭建接口用的技术springBoot和redis+Postman),接下来我们做前后端对接
4、针前端来做一点点的改造,这里我们先让我们的前端调到我们的后端
4.1 这里先让我们的接口规格是一致的,让我们的url是一致的
4.2 这里的地址,跟我们后面的地址是一致的
4.3 前面这些是没有的,给他删掉
4.1
5、现在我想调后端,这里有三份跟环境相关的配置
5.1 第一份开发配置,我想打包部署
5.2 你打包的话,你就得改第二个生成配置
5.3 这个改成我们后端的地址
5.4 这个/之前仍然是我们前端的服务地址,我们要访问的是我们的后端, 
5.5 这就是我们调用后端接口统一的前缀
6 再调后端接口的时候,这一节再拼上这一节,就是上面这一节再拼下面这一节,就是完整的配置地址了
6.1 看新的配置文件,内置的默认服务
6.2 注释掉
7
7、将前端项目重启一下 ctrl + d
7.1
8、看一下控制台,这个报错是在意料之中的
8.1
9、以后你只要看到了这个问题,就证明了你犯了一个跨域的问题
9.1
10、跨域的问题是怎么造成的,你从这个地址访问这个地址,A地址访问到B地址,并且发生了异步调用,这时候就跨域了,因此跨域的条件看什么,看ip地址
10.1
11、第一个是ip地址目前我们写的ip地址都是localhost,所以都是一致的
11.1
12 第二个是端口,端口并不一致,端口不一致也被认为是跨域,但如果你是发给自己,那么就不会发生这种情况,异步调用,如果发给不同的服务器和端口就会出现这种情况。
相关文章:

前后端分离------后端创建笔记(03)前后端对接(上)
本文章转载于【SpringBootVue】全网最简单但实用的前后端分离项目实战笔记 - 前端_大菜007的博客-CSDN博客 仅用于学习和讨论,如有侵权请联系 源码:https://gitee.com/green_vegetables/x-admin-project.git 素材:https://pan.baidu.com/s/…...
stable diffusion安装包和超火使用文档及提示词,数字人网址
一:文生图、图生图 1:stable diffusion:对喜欢二次元、美女小姐姐、大眼萌妹的人及其友好哈哈(o^^o) 1):关于安装包和模型包: 链接:https://pan.baidu.com/s/11_kguofh76gwhTBPUipepw 提取码…...
训练营:贪心篇
贪心就是:局部最优 1、455. 分发饼干 按照饼干分,从大到小,最大的给胃口最大能满足的 def findContentChildren455(g, s):g sorted(g,reverseTrue)s sorted(s,reverseTrue)j0c 0i0while(i<len(s) and j<len(g)):if s[i]>g[j]:c…...

四、Dubbo扩展点加载机制
四、Dubbo扩展点加载机制 4.1 加载机制概述 Dubbo良好的扩展性与框架中针对不同场景使用合适设计模式、加载机制密不可分 Dubbo几乎所有功能组件都是基于扩展机制(SPI)实现的 Dubbo SPI 没有直接使用 Java SPI,在它思想上进行改进ÿ…...

[保研/考研机试] KY103 2的幂次方 上海交通大学复试上机题 C++实现
题目链接: KY103 2的幂次方 https://www.nowcoder.com/share/jump/437195121691999575955 描述 Every positive number can be presented by the exponential form.For example, 137 2^7 2^3 2^0。 Lets present a^b by the form a(b).Then 137 is present…...

时序预测 | MATLAB实现基于BP神经网络的时间序列预测-递归预测未来(多指标评价)
时序预测 | MATLAB实现基于BP神经网络的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于BP神经网络的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍 Matlab实现BP神经网络时间序列预测未来(完整…...

组合模式(C++)
定义 将对象组合成树形结构以表示部分-整体’的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性(稳定)。 应用场景 在软件在某些情况下,客户代码过多地依赖于对象容器复杂的内部实现结构,对象容器内部实现结构(而非抽象接口)的变化…...
git上传问题记录
unable to access ‘https://github.com/songjiahao-wq/untitled.git/’: Failed to connect to github.com port 443 after 21086 ms: Couldn’t connect to serve 解决办法:修改 Git 的网络设置 打开git Bash运行,clash代理一般是下面的端口 # 注意…...

通过动态IP解决网络数据采集问题
动态地址的作用 说到Python网络爬虫,很多人都会遇到困难。最常见的就是爬取过程中IP地址被屏蔽。虽然大部分都是几个小时内自动解封的,但这对于分秒必争的python网络爬虫来说,是一个关键性的打击!当一个爬虫被阻塞时,…...

可重入锁,不可重入锁,死锁的多种情况,以及产生的原因,如何解决,synchronized采用的锁策略(渣女圣经)自适应的底层,锁清除,锁粗化,CAS的部分应用
一、💛 锁策略——接上一篇 6.分为可重入锁,不可重入锁 如果一个线程,针对一把锁,连续加锁两次,会出现死锁,就是不可重入锁,不会出现死锁,就是可重入锁。 如果一个线程,针…...
JSON.parse()和JSON.stringify()用法
JSON.parse() 方法用于将 JSON 格式的字符串转换为 JavaScript 对象,而 JSON.stringify() 方法用于将 JavaScript 对象转换为 JSON 字符串。这两个方法可以组合使用来实现将数据从对象到字符串再到对象的转换。 示例 // 创建一个包含属性的 JavaScript 对象 var pe…...

Android 并发编程--阻塞队列和线程池
一、阻塞队列 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作…...

Playwright快速上手-1
前言 随着近年来对UI自动化测试的要求越来越高,,功能强大的测试框架也不断的涌现。本系列主讲的Playwright作为一款新兴的端到端测试框架,凭借其独特优势,正在逐渐成为测试工程师的热门选择。 本系列文章将着重通过示例讲解 Playwright python开发环境的搭建 …...

PPT颜色又丑又乱怎么办?
一、设计一套PPT时,可以从这5个方面进行设计 二、PPT颜色 (一)、PPT常用颜色分类 一个ppt需要主色、辅助色、字体色、背景色即可。 (二)、搭建PPT色彩系统 设计ppt时,根据如下几个步骤,依次选…...
python计算相关系数R
方法一: import numpy as np# 计算相关系数R def r(y_true, y_pred):y_true np.array(y_true)y_pred np.array(y_pred)corr np.corrcoef(y_true, y_pred)[0][1]return corrcorr r(yture, ypred)方法二 import scipy.stats # 计算皮尔逊相关指数,并…...

黑马项目一阶段面试 自我介绍篇
面试官你好,我叫xxx,是来自xxxx的本科毕业生。我通过招聘网站/内推/线下招聘了解到的贵司,我具有扎实的Java后端的基础功底,基本掌握JavaSE、JavaEE流行技术的使用,并且我比较好学,心态也很乐观积极&#x…...

时序预测 | MATLAB实现CNN-BiGRU-Attention时间序列预测
时序预测 | MATLAB实现CNN-BiGRU-Attention时间序列预测 目录 时序预测 | MATLAB实现CNN-BiGRU-Attention时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 MATLAB实现CNN-BiGRU-Attention时间序列预测,CNN-BiGRU-Attention结合注意力机制时…...

开发过程中遇到的问题以及解决方法
巩固基础,砥砺前行 。 只有不断重复,才能做到超越自己。 能坚持把简单的事情做到极致,也是不容易的。 开发过程中遇到的问题以及解决方法 简单易用的git命令 git命令: 查看有几个分支:git branch -a 切换分支&#…...

本地oracle登录账号锁定处理,the account is locked
1.打开cmd命令窗口 2.打开sqlplus: sqlplus /nolog(加/nolog是不登录服务器的意思,不加就需要输账号密码) 3.切换到管理员:conn / as sysdba; 第2步第3步可以合并,直接使用sysdba登录:sqlplus / as sysdba; 4.解锁账号&#x…...
redission自定义hessian序列化
一。技术改造背景 由于之前的比较陈旧的技术,后面发起了技术改造,redis整体改后使用redisson框架。 二。问题 改造完成后,使用方反馈 缓存获取异常 异常信息如下 Caused by: java.io.CharConversionException: Unexpected EOF in the mid…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

LeetCode - 394. 字符串解码
题目 394. 字符串解码 - 力扣(LeetCode) 思路 使用两个栈:一个存储重复次数,一个存储字符串 遍历输入字符串: 数字处理:遇到数字时,累积计算重复次数左括号处理:保存当前状态&a…...
sqlserver 根据指定字符 解析拼接字符串
DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...

Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...

Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...

九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...