SpringBoot开发后端重难点笔记
91Youth
这个作者很懒,什么都没留下…
展开
-
7.分组校验
解决校验规则冲突的问题,比如这里的id设置为@NotNull,当我们需要新增地址时,请求的address对象中没有id,id是数据库自动生成的,这时候我们只需要指定校验id:只有更新/修改地址时的请求,才可以对其产生校验.原创 2024-08-02 13:53:18 · 131 阅读 · 0 评论 -
4.JWT令牌认证_服务器解析token
然后需要实现MVC配置类中的添加拦截器addInterceptors方法,把我们的loginInterceptors注册进去,而且,我们需要考虑到,浏览器访问注册和登录接口时,根本就不需要token的呀,所以还需要设置不拦截的地址.然后controller层addAddress方法解析token,方法需要两个形参,第一个形参,取请求头的Authorization这个就是token,第二个形参,response,解析失败则响应401.浏览器访问登录和注册接口时,不验证token。原创 2024-08-01 14:13:29 · 256 阅读 · 0 评论 -
6.在实体类上添加参数校验@NotNull,@NotEmpty,@Email
最后在UserController类中的update()方法内的User形参前添加@Validated注解,意思是使User类中添加的注解生效.如果参数是一个类怎么办?原创 2024-07-31 17:20:20 · 170 阅读 · 0 评论 -
5.获取用户详细信息_ThreadLocal优化
所以,我们只需要在拦截器内,将token的解析结果claims放到ThreadLocal这个全局变量中,线程具有隔离作用,每个新的请求,内部会开出新的线程,保证token始终和ThreadLoal绑定在一起。访问控制层、逻辑层或者数据层,都可能需要获取请求头里的Authorization,解析token,得到比如用户id或者username,这样每次都需要用md5来解析,代码重复,不优雅。用ThreadLocal将claims存起来,全局变量,后面用到,则取。原创 2024-07-31 15:19:13 · 167 阅读 · 0 评论