4.16 接口参数校验 JWT转化细节(把密码踢出Token里)
简单参数校验(系统提供类):直接在参数前加上@NotNull(非空)@NotEmpty(非空,若为字符串型则不能为空串)@Email(邮箱校验)或pattern(regexp)正则
复杂参数校验(含map,自己建的类),在类的内部的简单参数上加上@NotNull@NotEmpty@Email或pattern(regexp)正则,并在参数前加@Vlidate
在JWT转换里,要在实体类中对不转成JSON放JWT里的字段加上JsonIgnore
在Springboot3以前的版本:
- @JsonIgnore(jackson 包)
作用:告诉 Jackson 序列化器 忽略该字段,不生成 JSON。
场景:JWT 生成时,把对象转 JSON 字符串的过程。
不加后果:敏感字段(密码、盐值)会被明文写入 JWT,严重安全漏洞。 - @Transient(spring 包)
作用:告诉 Spring Security 序列化器 忽略该字段,不参与 JWT 存储。
场景:JWT 解析时,把 JSON 转回对象的过程。
不加后果:解析 JWT 时报错、字段冗余、敏感数据泄露。
在springboot3:只需第一个

浙公网安备 33010602011771号