springclouddemo4.2-整合feign

**从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

发布了42 篇原创文章 · 获赞 2 · 访问量 1183

猜你喜欢

转载自blog.csdn.net/qq_40893824/article/details/103609138