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

苍穹外卖day01

今天是写外卖的第一天,昨天主要就下载了下资料,并且配置了前端环境后端环境

我用接口测试没有用黑马的yapi 用的是apifox 也挺好用的 推荐!!!!!

今日完结任务:

  1. 新增员工接口
  2. 分页查询
  3. 启用禁用员工账号
  4. 分类管理
  5. 其他补充

1.新增员工

在新增员工这里用到了一个ThreadLocal

我们在spring后端发起的每一个请求,都是一个独自的线程

线程安全性:  ThreadLocal 本身为每个线程提供独立的变量副本,因此是线程安全的,但需确保不同线程之间不会错误地修改对方的数据。

在使用后必须remove该线程,不然可能会造成内存泄漏

2.分页查询

运用了pagehelper插件实现分页查询,这样就不用在sql中再写limit了

 在xml中写sql语句时,利用分页插件实现分页查询,这里使用了动态sql <where> 标签会智能处理:只有当至少有一个条件满足时,才会插入 WHERE 关键字会自动删除条件开头多余的 AND 或 OR所以无论哪个条件满足,生成的 SQL 都是正确的

还有一点小小的问题, <if test="name != null and name != ''"> 判断空得是'' 不能是' '

3.启用禁用员工账号一点小细节

parameterType 是 MyBatis XML 映射文件中的一个重要属性,用于指定传入 SQL 语句的参数类型。

基本作用:  parameterType 告诉 MyBatis:这个 SQL 语句将会接收什么类型的参数。

4.分类管理接口

和员工管理的接口很像crud

5.补充

1.http
请求简单介绍

对于http协议

请求协议:浏览器将数据以请求格式发送到服务器。包括:请求行、请求头 、请求体

    get请求只有请求行和请求体

    post请求则是三个都有

    1)请求行:请求方式、资源路径、协议/版本组成(之间使用空格分隔)

    2)请求头:

  Host表示请求的主机名
User-Agent浏览器版本。 例如:Chrome浏览器的标识类似Mozilla/5.0 ...Chrome/79 ,IE浏览器的标识类似Mozilla/5.0 (Windows NT ...)like Gecko
Accept表示浏览器能接收的资源类型,如text/*,image/*或者*/*表示所有;
Accept-Language表示浏览器偏好的语言,服务器可以据此返回不同语言的网页;
Accept-Encoding表示浏览器可以支持的压缩类型,例如gzip, deflat
Content-Type请求主体的数据类型
Content-Length数据主体的大小(单位:字节)

                     偶尔还带token

  3)请求体:则是post请求里面带的参数

2.响应

响应几乎是一样的:响应行,响应头, 响应体

1)响应行: 协议及版本、响应状态码、状态码描述  

2)响应头:

Content-Type表示该响应内容的类型,例如text/html,image/jpeg 
Content-Length表示该响应内容的长度(字节数);
Content-Encoding表示该响应压缩算法,例如gzip ;
Cache-Control:指示客户端应如何缓存,例如max-age=300表示可以最多缓存300秒 ;
Set-Cookie:告诉浏览器为当前页面所在的域设置cookie  


 3)响应体 :响应数据

状态码分类    说明
1xx    响应中 --- 临时状态码。表示请求已经接受,告诉客户端应该继续请求或者如果已经完成则忽略
2xx    成功 --- 表示请求已经被成功接收,处理已完成
3xx    重定向 --- 重定向到其它地方,让客户端再发起一个请求以完成整个处理
4xx    客户端错误 --- 处理发生错误,责任在客户端,如:客户端的请求一个不存在的资源,客户端未被授权,禁止访问等
5xx    服务器端错误 --- 处理发生错误,责任在服务端,如:服务端抛出异常,路由出错,HTTP版本不支持等
2.jwt.令牌登录

JWT全称 JSON Web Token (官网:https://jwt.io/)

JWT的组成: (JWT令牌由三个部分组成,三个部分之间使用英文的点来分割)

- 第一部分:Header(头), 记录令牌类型、签名算法等。 例如:{"alg":"HS256","type":"JWT"}

- 第二部分:Payload(有效载荷),携带一些自定义信息、默认信息等。 例如:{"id":"1","username":"Tom"}

- 第三部分:Signature(签名),防止Token被篡改、确保安全性。将header、payload,并加入指定秘钥,通过指定签名算法计算而来。

jwt就是把三个部分进行了base64编码,xxxxxxx.yyyyyyy.zzzzzz,x就是头部,y就是负载,z就是签名签名 = HA256( base64(header) + "." + base64(payload), 你的密钥 ) 然后将签名附在JWT的第三部分。这个签名是Header和Payload的“数字指纹”。

这个密钥是你自己所设置的,利用密钥才有可能解密第三部分,这样验证时只有一样的令牌才会通过,如果不一样就会拒绝(检验作用)

另外,在登陆时会用到两个技术(都可以用)对令牌进行验证

Filter过滤器

Interceptor拦截器

总结:

今天到此结束!!!!!!!!!!!!!!!!!!!!!!


文章转载自:

http://t5LXWaCW.dbLfL.cn
http://ZOs60VYg.dbLfL.cn
http://95T6bXkP.dbLfL.cn
http://Sl3EXndX.dbLfL.cn
http://VTBYQuZC.dbLfL.cn
http://TGZKnXyW.dbLfL.cn
http://OCH3CBmi.dbLfL.cn
http://WQRU5ZX8.dbLfL.cn
http://o1xOyYdR.dbLfL.cn
http://yxaTrdcy.dbLfL.cn
http://ZvQgn1x7.dbLfL.cn
http://q6ghMH8K.dbLfL.cn
http://nZWLnbX6.dbLfL.cn
http://HxrItqWS.dbLfL.cn
http://xnaBPz7P.dbLfL.cn
http://mhiMYEd6.dbLfL.cn
http://f0486VxR.dbLfL.cn
http://hFBujuSt.dbLfL.cn
http://4oOtWjEQ.dbLfL.cn
http://W1AOr4Tu.dbLfL.cn
http://htPeX8J8.dbLfL.cn
http://qfyjYqIA.dbLfL.cn
http://b4YuDTDY.dbLfL.cn
http://66w2wPC1.dbLfL.cn
http://220e7exX.dbLfL.cn
http://H8Pyz9VL.dbLfL.cn
http://xyEAK0Ob.dbLfL.cn
http://HywyrYj2.dbLfL.cn
http://zGjoGGJQ.dbLfL.cn
http://IsrVWxDY.dbLfL.cn
http://www.dtcms.com/a/387047.html

相关文章:

  • 《LINUX系统编程》笔记p14
  • 可直接落地的pytest+request+allure接口自动化框架
  • 【精品资料鉴赏】267页政务大数据资源平台建设方案
  • 面试前端遇到的问题
  • 【深度学习计算机视觉】05:多尺度目标检测——从理论到YOLOv5实践
  • STM32 通过USB的Mass Storage Class读写挂载的SD卡出现卡死问题
  • 【Nginx开荒攻略】Nginx基本服务配置:从启动到运维的完整指南
  • 《漫威争锋》公布开发者愿景视频:介绍1.5版本的内容
  • Isight许可管理与其他软件集成的方法
  • 论文提纲:学术写作的“蓝图”,如何用AI工具沁言学术高效构建?
  • 快速解决云服务器的数据库PhpMyAdmin登录问题
  • 知识更新缺乏责任人会带来哪些风险
  • 容器化部署番外篇之Nexus3搭建私有仓库09
  • 计算机视觉(opencv)实战二十四——扫描答题卡打分
  • 居住证申请:线上照片回执办理!
  • Roo Code 的差异_快速编辑功能
  • 【深度学习】基于深度学习算法的图像版权保护数字水印技术
  • mcp初探
  • 深入C++对象生命周期:从构造到析构的奥秘
  • 视频上传以及在线播放
  • Powershell and Python are very similar
  • 鸿蒙Next离线Web组件实战:轻松实现离线加载与缓存优化
  • deepseek原理
  • 力扣复盘 之“移动零”
  • 任务管理系统常用平台整理:适合多项目团队
  • docker安装华为openGauss数据库
  • AI的设计图,神经网络架构
  • abaqus仿真完后如何把受力曲线显示出来
  • 核心硬件面试题目详解和回答策略之1
  • [MySQL]Order By:排序的艺术