外卖心得day01

1.首先导入项目一开始就要养成编译的习惯,编译报错的原因可能在于依赖的版本和你用的jdk不匹配,我就改了好久才发现,原来我用的是jdk21,

但是lombok版本不支持jdk21,所以我改了版本

2.就是那个knf自动生成接口文档那个,太好用了还能自动测试,但需要注意的是因为我们设置了拦截器,所以请求非登录接口时都需要携带token令牌

,但是我们又不知道,所以可以先调用登录接口拿到一个token然后放在全局参数设置里,注意

@Api这个放在类上,你要说明的时候要加一个参数才行

@ApiOperation那个放在方法上,不需要这个参数

3.怎么样来处理一个我们应该处理的异常,比如插入员工的时候username这是一个唯一标识的字段,如果我们输入没有唯一标识,那么就会报错,我们必须来处理这个错误,返回给前端,你看报错的信息时这个:

错误类型就是SQLIntegrityConstraintViolationException,其中后面冒号 Duplicate entry '李想' for key 'employee.idx_username' 这个就是我们异常.getMessage返回的信息,所以我们可以给前端提示:李想已存在,就需要拿到这个名字,所以,在全局异常处理器里就是这样处理的

最后处理完成的结果就是

4.要统筹全局,比如说要修改用户的状态,就是修改一个字段这种接口,因为一会我们还要写修改用户的几口=接口,所以我们就完全可以,直接给mapper传入一个对象,而不是仅仅开发这一个方法,比如就修改状态码给的是id和status,我们不能按照注释的写,应该传入一个完整的对象,在后面修改员工的时候就可以直接调用这个接口。

5.返回敏感数据的时候可以这样做:

相关推荐
黑马师兄6 分钟前
RAG混合检索深度解析:让AI真正找到你要的内容
java·人工智能·ai·agent·rag·ai-native
码客日记11 分钟前
Spring Boot 配置文件敏感信息加密(Jasypt 企业级完整方案)
java·spring boot·git
凡人叶枫1 小时前
Effective C++ 条款04:确定对象被使用前已先被初始化
java·linux·开发语言·c++·嵌入式开发
极客先躯1 小时前
高级java每日一道面试题-2026年02月01日-实战篇[Docker]-Docker Volume 的生命周期管理是怎样的?
java·运维·docker·容器·持久化·架构图·容器卷
NE_STOP1 小时前
Raft算法处理细节
java
努力攻坚操作系统1 小时前
编程语言编译运行机制对比:C / Java / Python
java·c语言·python
慧一居士1 小时前
对比两个文件内容是否完全一致,java实现示例
java
再写一行代码就下班2 小时前
Cursor配置Java环境、创建Spring Boot项目的步骤
java·开发语言·spring boot
摇滚侠2 小时前
Java 零基础全套教程,类的加载过程与类加载器的理解,笔记 189
java·后端·intellij-idea
kong@react2 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker