【苍穹外卖笔记】第四天内容

发布时间:2026/10/25 6:17:57
【苍穹外卖笔记】第四天内容 一、课程内容预览自主完成套餐相关全部接口开发修复根据分类id查询菜品的Bug额外二、笔记第四天的内容没有视频资源需要我们使用之前学习到的知识自主地完成套餐相关全部接口的开发这部分需要各位手操完成只是在完成这部分时在最后的测试阶段我发现了一个业务代码存在的bug所以想在这里写下我修改bug的历程/** * 根据分类id查询菜品 * param categoryId * return */GetMapping(/list)ApiOperation(根据分类id查询菜品)publicResultListDishlist(LongcategoryId){ListDishlistdishService.list(categoryId);returnResult.success(list);}这个是我们原本设计的接口这个接口的作用是在添加和修改套餐时用于快速定位想要添加入套餐的菜品而使用的但是最后前后端联调测试的时候我发现前端按照分类查询各个菜品的功能完全正常不正常的时右上角按照菜品名查询菜品的功能我仔细研读了前端代码后发现这个功能会把name属性发送到/admin/dish/list而这个路径正是上面根据分类id查询菜品接口接收数据的请求路径但是这个接口只接收categoryId一种数据所以name无法传递过来自然使得按照菜品名查询的功能失效。这个时候我试图在同一个请求路径下写两个不同的接口接收数据/** * 根据菜品名字查询菜品 * param name * return */GetMapping(/list)ApiOperation(根据菜品名字查询菜品)publicResultListDishgetByName(RequestParamStringname){log.info(根据菜品名字查询菜品:{},name);ListDishdishsdishService.getByName(name);returnResult.success(dishs);}但是这又导致了另一个严重的bug两个接口请求路径完全相同请求方式也一样Spring 无法区分启动直接报错。所以我采用了重构这个接口的方法解决问题/** * 根据输入信息查询菜品 * param categoryId * return */GetMapping(/list)ApiOperation(根据输入信息查询菜品)publicResultListDishgetByCategoryIdOrName(LongcategoryId,Stringname){log.info(根据输入信息查询菜品:{},categoryId,name);ListDishdishsdishService.list(categoryId,name);returnResult.success(dishs);}使其同时接收两种数据同时重构了实现类/** * 根据分类id查询菜品 * param categoryId * return */OverridepublicListDishlist(LongcategoryId,Stringname){DishdishDish.builder().categoryId(categoryId).name(name).status(StatusConstant.ENABLE).build();returndishMapper.list(dish);}使其可以灵活适应这种变化这样修改后就没有错误了前端的分类查询菜品和搜索名称查询菜品都可以正常使用。三、结语这一天的内容虽然没有视频资源但却是我前几天学习所有内容的总结让我能够及时把刚学会的知识转化到项目编写上算是一次不错的经验积累。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询