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

官方网站建设教程同城分类网站建设

官方网站建设教程,同城分类网站建设,聊城哪里做网站,大庆油田内网主页网址项目开发 lombok使用 自动为实体类提供get、set、toString方法 引入依赖 实体类上添加注解 统一响应结果 注意要写get、set方法;下面是错误的,因此要加上Data注解 一个注册的接口的示例 Controller层 Service层 Mapper层 参数校验 但是同样存在一…

项目开发

lombok使用

自动为实体类提供get、set、toString方法

引入依赖

在这里插入图片描述

实体类上添加注解

在这里插入图片描述

统一响应结果

注意要写get、set方法;下面是错误的,因此要加上@Data注解
在这里插入图片描述

一个注册的接口的示例

Controller层

在这里插入图片描述

Service层

在这里插入图片描述

Mapper层

在这里插入图片描述

参数校验

在这里插入图片描述
在这里插入图片描述
但是同样存在一个问题,就是当参数不合法的时候,会报异常,因此前端接受的就不是我们定义的统一返回格式;
所以要使用全局异常处理器
@RestControllerAdice代表返回的是Json字符串
在这里插入图片描述
其中还要注意密码存在数据库中使用MD5加密

登录

登录认证

为什么要有登录认证?用户没有登录,用户不能访问其他功能的接口
令牌中应该具有的功能:
在这里插入图片描述

jwt

分为头部、载荷和签名三个部分;
头部通常包含两部分信息:

typ: 表示令牌的类型,通常为"JWT"。
alg: 表示所使用的签名算法,如HS256(HMAC SHA256)或RS256(RSA SHA256)。

有效载荷部分包含声明(Claims),声明可以分为三种类型:
注册声明(Registered Claims): 预定义的声明,比如iss(发行者)、exp(过期时间)、sub(主题)等。
公共声明(Public Claims): 可以自定义的声明,建议使用URI作为命名空间以避免冲突。
私有声明(Private Claims): 两个方之间自定义的声明,不会在JWT标准中定义。

为了生成签名部分,需要将编码后的头部和有效载荷以及一个密钥结合并使用指定的签名算法进行签名(所以能够知道数据是否改变了)

在这里插入图片描述
具体例子:
在这里插入图片描述
前端将获得的token放到请求头中来调用接口,后端获得请求头中token的方式:
在这里插入图片描述

使用拦截器来每次都检查调用的时候请求头中是否保存token

实现拦截器处理接口,并重写预处理方法;
实现WebMVC配置接口,将之前定义的拦截器处理对象注册到配置类中,并重写addInterceptors方法。
在这里插入图片描述
拦截器文件单独放到拦截器包下面。
在这里插入图片描述
定义配置类
在这里插入图片描述
Postman 为每个接口添加token的脚本:
在这里插入图片描述

用户敏感信息

添加@JsonIgnore,不返回密码这个字段。
在这里插入图片描述

下划线转为驼峰命名字段

在这里插入图片描述

ThreadLocal

由于在拦截器中已经进行过token解析的步骤,在接口中还进行token解析,这样很不优雅
在这里插入图片描述

原理

ThraedLocal原理:为线程提供局部变量,使得不同线程互不影响;例如有两个线程(蓝色和绿色线程)各自存入的数据只能自己访问得到。
在这里插入图片描述
在Tomcat中为不同的用户创建不同的进程,并没有说Tomcat是怎么知道不同的用户的。

如何使用

在这里插入图片描述
注意工具类ThreadLocal为静态final的;注意使用ThreadLocal如果不清除那么就会内存爆了。

package com.itheima.utils;import java.util.HashMap;
import java.util.Map;/*** ThreadLocal 工具类*/
@SuppressWarnings("all")
public class ThreadLocalUtil {//提供ThreadLocal对象,private static final ThreadLocal THREAD_LOCAL = new ThreadLocal();//根据键获取值public static <T> T get(){return (T) THREAD_LOCAL.get();}//存储键值对public static void set(Object value){THREAD_LOCAL.set(value);}//清除ThreadLocal 防止内存泄漏public static void remove(){THREAD_LOCAL.remove();}
}

在拦截器中存放用户信息。
在这里插入图片描述
在Controller中获得之前存放的数据。
在这里插入图片描述

注意ThreadLocal的remove

在请求开始的时候进行set,在请求结束的时候释放;因此在拦截器中重写afterCompletion方法,释放内存;
在这里插入图片描述

@RequestBody

将Json字符串转化为对象

之前学的是如何验证参数,那么如何验证实体类中的参数?

在实体类中添加相关注解,还有通配符注解;
在Controller的参数前添加@Validated注解
在这里插入图片描述

Mapper函数中参数为对象,sql中想要获得属性值那么直接使用属性名就行了

在这里插入图片描述

分组校验

更新的时候校验参数不能为Null,但是添加的时候ID可以为Null;这就使用到了分组校验
在这里插入图片描述
在成员类中定义两个接口代表不同的分组;然后成员变量上面定义适用哪个组;Controller中的Validated中定义应该使用哪个组。
在这里插入图片描述
如果多个组A、B中存在相同校验规则的字段;那么可以不写校验规则,并让A和B都继承Default;例如A extends Defalt,那么被分为A类的字符段加上没有定义分组的字符段同属于A类组。
在这里插入图片描述
在这里插入图片描述


文章转载自:

http://yeFJr7wk.srnth.cn
http://O5wfnJzs.srnth.cn
http://I5Mu2Eyy.srnth.cn
http://w7qfV7qo.srnth.cn
http://2riF9u8K.srnth.cn
http://9Rn6Bb8L.srnth.cn
http://SGnsDIYC.srnth.cn
http://FjdAsv1b.srnth.cn
http://akUDpja1.srnth.cn
http://CtZb1gDg.srnth.cn
http://Wm79sbqg.srnth.cn
http://wpZ6Er53.srnth.cn
http://OdIamldk.srnth.cn
http://y03lgaZo.srnth.cn
http://CJ2UN7gL.srnth.cn
http://E3os18bx.srnth.cn
http://66MQDZq0.srnth.cn
http://j1yujOfD.srnth.cn
http://2EOcdNhp.srnth.cn
http://Nt9RuLPs.srnth.cn
http://pxydAyhW.srnth.cn
http://zage7v1q.srnth.cn
http://LBev5xyY.srnth.cn
http://okIsaHZ3.srnth.cn
http://mPky0tCC.srnth.cn
http://m7pEay0D.srnth.cn
http://6L9Z3EO5.srnth.cn
http://GT2zhmUx.srnth.cn
http://fUYnPmai.srnth.cn
http://fHszbwbU.srnth.cn
http://www.dtcms.com/wzjs/723428.html

相关文章:

  • 网站建设及推广培训网站 数据库 sql 导入
  • 全国做网站的公司森东网站建设
  • 沈阳网站建设方案模板应城网站建设
  • 甘肃省住房和城乡建设部网站首页flash网站制作教程 下载
  • thinkphp 门户网站开发app的软件
  • 自己能建设网站吗工信部网站备案被注销
  • vps搭建vpn无法访问国内网站重庆做网站letide
  • 经济研究院网站建设方案星夜智能建站平台
  • 天台建设局网站外链屏蔽逐步解除
  • 网站一屏做多大百度相册登录入口
  • 网站优化的主要任务东营建设网站
  • 长沙公司网站高端网站建设凡客网首页
  • 驻马店怎么建设自己的网站轻网站怎么建立
  • 线报网站如何做建立网站 多少钱
  • 营销crm系统网站设计网站建设培训深圳
  • 有哪些好的模板网站企业网站开发公司有哪些
  • 网站控制如何网上注册公司流程
  • 怎么建一个公司运营网站无锡装饰网站建设
  • 淘宝客返利网站开发四川整站优化专业的机构
  • 酒店如何做团购网站个人做交通违章查询网站违法吗
  • 做网站代理好吗12306网站多少钱做的
  • 我做网站了如何做情趣网站
  • 嘉峪关市建设局公示公告网站装修注意事项及细节
  • 网站定制公司地址重庆建设摩托车价格及图片
  • 哈尔滨做网站收费flash如何做网页
  • 建设网站需要购买南山网站-建设深圳信科
  • 广州网站优化步骤网站建设比赛
  • 站长工具seo综合查询排名中国商业企业网
  • ssh框架做音乐网站承德优化网站建设
  • 泉州做网站seo的h5在哪里制作