黑马程序员苍穹外卖项目修改密码的错误

开发者在实现员工信息修改接口时遇到空指针异常,源于接口文档参数不完整。通过调试和排查,发现问题是由于前端未传递id参数,导致后续逻辑中使用空值。解决方案是引入ThreadLocal解决参数问题,强调了接口文档的严谨性。
摘要由CSDN通过智能技术生成

刚才写修改密码这块接口的时候, 明明我是严格按照他的接口文档写的代码, 为什么还是报错?

错误debug出来是个空指针异常, 传说中的十亿美元错误......

先上结论:

接口文档上body携带了三个参数, 但是后端接收到的参数没有id, 我又用id去查找数据库, 造成了结果为null

后端代码

controller:

Service

ServiceImpl

Mapper

我这里是将设置员工账号启用禁用状态, 更新员工信息, 更新密码三个逻辑写在了一个mapper中, 在传参的时候统一发Employee对象

吐槽

我一开始特纳闷, 以为是请求路径接收错了, 一顿找啊!

然后对了几遍发现没问题, debug了一下发现到这块(service)就停了, (我还没有定位到是if条件出现了空指针, 以为是抛出的异常导致的问题),

于是我就去定义了全局异常处理器来接收处理这个异常

发现没用啊, 我又去给每一层都打了密密麻麻的断点来过, 让我逮着了个空指针, 大脑宕机.....

修改方案就是用ThreadLocal来手动装填一个id进来, 一切就都好用了(BaseContext用的单例模式封装了ThreadLocal)

接口文档一定要严谨!严谨!

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
黑马程序员苍穹外卖项目中的Nginx配置文件可以根据具体需求进行配置。根据引用\[1\]中的描述,可以通过双击nginx.exe启动Nginx,并在http://localhost/访问前端页面。这意味着Nginx的配置文件应该包含有关前端页面的相关配置。另外,根据引用\[2\]中的描述,Nginx还可以用作反向代理和负载均衡,因此配置文件还应包含有关反向代理和负载均衡的相关配置。最后,根据引用\[3\]中的描述,苍穹外卖项目还需要与第三方配送公司进行对接和管理,因此配置文件还应包含有关与第三方配送公司对接的相关配置。综上所述,黑马程序员苍穹外卖项目的Nginx配置文件应包含前端页面的相关配置、反向代理和负载均衡的相关配置以及与第三方配送公司对接的相关配置。 #### 引用[.reference_title] - *1* [黑马程序员_Java项目实战《苍穹外卖》_Day01_开发环境搭建](https://blog.csdn.net/BallerWang9/article/details/131824385)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [最适合新手的SpringBoot+SSM项目苍穹外卖》实战—(一)项目概述](https://blog.csdn.net/qq_20185737/article/details/131575898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值