👋 欢迎浏览我的技术博客,记录学习笔记 本人28届软工一枚

4.16 接口参数校验 JWT转化细节(把密码踢出Token里)

简单参数校验(系统提供类):直接在参数前加上@NotNull(非空)@NotEmpty(非空,若为字符串型则不能为空串)@Email(邮箱校验)或pattern(regexp)正则
复杂参数校验(含map,自己建的类),在类的内部的简单参数上加上@NotNull@NotEmpty@Email或pattern(regexp)正则,并在参数前加@Vlidate

在JWT转换里,要在实体类中对不转成JSON放JWT里的字段加上JsonIgnore

在Springboot3以前的版本:

  1. @JsonIgnore(jackson 包)
    作用:告诉 Jackson 序列化器 忽略该字段,不生成 JSON。
    场景:JWT 生成时,把对象转 JSON 字符串的过程。
    不加后果:敏感字段(密码、盐值)会被明文写入 JWT,严重安全漏洞。
  2. @Transient(spring 包)
    作用:告诉 Spring Security 序列化器 忽略该字段,不参与 JWT 存储。
    场景:JWT 解析时,把 JSON 转回对象的过程。
    不加后果:解析 JWT 时报错、字段冗余、敏感数据泄露。

在springboot3:只需第一个

posted @ 2026-04-26 17:59  气球飞起  阅读(13)  评论(0)    收藏  举报