码神之路的博客项目后端开发笔记

【博客项目】

跟着 https://www.bilibili.com/video/BV1Gb4y1d7zb/?spm_id_from=333.337.search-card.all.click&vd_source=a56e9c2852c4b906ac796aa4c61964ec
做的一个笔记总结

P1-P9

VO(View Object): 视图对象,用于展示层,它的作用是把制定页面的所有数据封装起来(只返回页面需要的,不需要返回全部)

pojo和数据库对应,vo和json对应

@AllArgsConstructor 作用?

@AllArgsConstructor 是lombok中的注解,作用在类上;
使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数;

在这里插入图片描述

LambdaQueryWrapper作用

这是mybatis plus 的一个功能组件,对单表的操作非常的简洁

详细

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qbnVBAI2-1666771850489)(D:/GitCode/tuchuang/img/image-20221019174435297.png)]
在这里插入图片描述

BeanUtils.copyProperties(article,articleVo) 属性赋值

image-20221019191517958

在这里插入图片描述

MyBatis写SQL语句没有提示的解决方法!

https://blog.csdn.net/weixin_46022083/article/details/118142062

CollectionUtils.isEmpty()为空判断

在这里插入图片描述

image-20221019190854643

@ControllerAdvice统一异常处理

对加了@Controller注解的方法进行拦截处理,其实就是一个开发好的AOP

image-20221019191356043

在这里插入图片描述

image-20221019191707724

在这里插入图片描述

dos对象

dos也是数据库里查出来的 ,但通常不进行持久化

@RequestBody

@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);GET方式无请求体,所以使用@RequestBody接收数据时,前端不能使用GET方式提交数据,而是用POST方式进行提交。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rNskYsyc-1666771850490)(D:/GitCode/tuchuang/img/image-20221021093651446.png)]

在这里插入图片描述

P10-P15 登录注册

JWT技术(json web token)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QFYrPp2L-1666771850491)(D:/GitCode/tuchuang/img/image-20221019204306050.png)]

在这里插入图片描述

    private static final String jwtToken = "123456Mszlu!@#$$";

    public static String createToken(Long userId){
   
        Map<String,Object> claims = new HashMap<>();
        claims.put("userId",userId);
        JwtBuilder jwtBuilder = Jwts.builder()
                .signWith(SignatureAlgorithm.HS256, jwtToken) // 签发算法,秘钥为jwtToken
                .setClaims(claims) // body数据,要唯一,自行设置
                .setIssuedAt(new Date()) // 设置签发时间
                .setExpiration(new Date(System.currentTimeMillis() + 24 * 60 * 60 * 60 * 1000));// 一天的有效时间
        String token = jwtBuilder.compact();
        return token;
    }
//    解析token
    public static Map<String, Object> checkToken(String token){
   
        try {
   
            Jwt parse = Jwts.parser().setSigningKey(jwtToken).parse(token);
            return (Map<String, Object>) parse.getBody(); //解析成功 返回body数据
        }catch (Exception e){
   
            e.printStackTrace();
        }
        return null;

    }

JWT使用方法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h7dIFC1y-1666771850492)(D:/GitCode/tuchuang/img/image-20221019205502780.png)]
在这里插入图片描述

md5加密的依赖包:

  <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
    </dependency>

@RequestHeader(“Authorization”) String token

SpringMVC提供了@RequestHeader注解,可以将请求头中变量值映射到控制器的参数中。如下例子:将请求头中的变量值token映射到控制器参数token中

获取头部信息


                
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值