从b站学习springcloud项目,现在进行总结,该总结除去了视频中出现的小错误,对有些易错的地方进行了提醒
b站链接:https://www.bilibili.com/video/av55629580?p=1
资料链接:
https://pan.baidu.com/s/1o0Aju3IydKA15Vo1pP4z5w
提取码: 21ru
上一节链接:
https://blog.csdn.net/qq_40893824/article/details/103600462
下一节链接:
https://blog.csdn.net/qq_40893824/article/details/103615379
下面的内容总结:
client/MenuFeign→client/MenuHandler→menu_update→menu/MenuRepository.xml→检查
client/MenuFeign→client/MenuHandler→menu/MenuRepository.xml→检查
实现细节:
1.现在来实现下图的修改功能
在menu/MenuHandler中已实现findById功能,menu/repository/MenuRepository.yml和menu/mapping/MenuRepository.xml也实现了findById功能
在client/feign/MenuFeign中添加代码:
@GetMapping("/menu/findById/{id}")
public Menu findById(@PathVariable("id")long id);
2.在client/controller/MenuHandler中添加代码:
注意类型是ModelAndView,@GetMapping中的id的括号是{}。而不是()!
@GetMapping("/findById/{id}")
public ModelAndView findById(@PathVariable("id")long id){
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("menu_update");
modelAndView.addObject("menu" , menuFeign.findById(id));//该菜品的信息
modelAndView.addObject("list" , menuFeign.findTypes());//该菜品可选择的下拉框
return modelAndView;
}
这样client/static/menu_update页面就可以使用了,要修改menu_update的代码:,17,23,29,35行——编号、菜品名、单价、口味
可以对比menu_add(41-45行)和menu_update(35-37行)的分类部分:它保证的是进入编辑菜品的时候,原来是什么分类就是什么分类,而不是默认选热菜
3.修改menu/resources/mapping/MenuRepository.xml的代码
第21行的 resultType="Menu 改为 resultMap=“menuMap”
4.重启 menu client 进入 http://localhost:8030/menu/redirect/index ,翻到第二页,修改后面数据的信息
可以看到分类原来是什么样,修改时就是什么样子。
保存修改功能如下操作:
5.在client/feign/MenuFeign中添加代码:
@PostMapping("/menu/update")
public void update(@RequestBody Menu menu);
6.在client/MenuHandler中添加代码:
注意是@PostMapping
@PostMapping("/update")
public String update(Menu menu){
menuFeign.update(menu);
return "redirect:/menu/redirect/index";
}
menu中MenuHandler和MenuRepository.java、MenuRepository.xml中已经有了update代码,不用再写了
7.在menu/mapping/MenuRepository.xml修改update代码:
update t_menu set name = #{name},price = #{price},flavor = #{flavor} where id = #{id}
改为:
update t_menu set name = #{name},price = #{price},flavor = #{flavor}, tid=#{type.id} where id = #{id}
8.检查:重启 menu client
进入 http://localhost:8030/menu/redirect/index
修改红框菜品
原来是:
欲修改为:
提交后:
修改功能实现!
上一节链接:
https://blog.csdn.net/qq_40893824/article/details/103600462
下一节链接:
https://blog.csdn.net/qq_40893824/article/details/103615379