外卖
9--登录成功后,jwt令牌 断点调试,代码跟踪。
22-19:40 分页插件底层原理。
利用插件,要符合规范
24-1:36 日期格式转换两种方式
修改用set标签,把可能修改的字段都写上,后面的开发可以避免重复去修改数据(代码复用)。
细节:通过id查询员工信息,后端把密码employee.setPassword("****");进一步加强安全性。
存储获取id
拦截器->把id加入到ThreadLocal中
service层获取id
复制属性
DTO(前->后) VO(后->前) Entity(数据库实体类)
401未授权
重新登录(登录接口获取),重新获取令牌。配置文件中令牌默认是2小时。
全局异常处理
处理用户名重复
/**
* 处理添加用户名称重复
* @param ex
* @return
*/
@ExceptionHandler
public Result exceptionHandler(SQLIntegrityConstraintViolationException ex){
//Duplicate entry 'zhangsan' for key 'employee.idx_username'
if(ex.getMessage().contains("Duplicate entry")){
String[] str = ex.getMessage().split(" ");
String username = str[2];
String msg = username + MessageConstant.ALREADY_EXISTS;//动态的username已存在
return Result.error(msg);
}else {
return Result.error(MessageConstant.UNKNOWN_ERROR);
}
}
Maven中compile编译
拷进来的代码,可能不会自动编译,1行1行手敲不会出现这个问题。所有手动编译一下
***31 3:57 公共字段自动填充(代码的重复操作) AOP切面处理
代码冗余,不便于后期维护
1.创建包,创建自定义注解
/**
* 自定义注解
*/
@Target(ElementType.METHOD) //指定注解作用范围 为 方法
@Retention(RetentionPolicy.RUNTIME) //固定套路,不知道嘎哈的
public @interface AutoFill {
//操作数据库类型:update insert
OperationType value();
}
平时经验
后端复制构建
解决方法:将7-19行内容复制,将类删除,重新创建,复制内容。重新编译,锤子构建一下。
端口号
端口号不要设置6666,谷歌浏览器特殊
解决:
后端修改
前端修改
vscode细节
vscode有提示。de下方的三个点...,打错了,应该是defaults
400状态码
birthday 后端是Date类型。 数据类型错误:"20010102"(错误)