Java项目-瑞吉外卖Day4

实现文件的上传下载:
前端代码:

对文件的操作就是对流的操作。

上传文件的后端代码,需要注意MultipartFile的名字必须与前端相对:

为文件存储位置进行动态设置,配置application.xml

在CommonController中设置属性读取配置文件。

完善上传代码,防止文件名重复,使用UUID+文件后缀方式为图片命名。

实现下载功能:

前端代码如下,上传成功后回调,发送get请求下载图片文件。

后端代码:

通过输入流获取文件,通过输出流显示文件。

实现新增菜品功能:
创建DishFlavor实体类,mapper,service,serviceImpl,dishController类。

先实现菜品列表显示的功能。

前端请求:

在CategoryController中添加方法。

显示效果:

看到前端请求和负载:

可以看到flavors属性与实体类dish中的属性无法对应。创建DTO类对flavors属性进行映射。

在DishService中创建方法,添加菜品到dish表和dish_flavor表,由于处理多个表,添加事务注解,并在启动类增加事务管理注解。

controller中调用:

实现菜品分页:
后端代码:

前端效果,可以看到菜品分类没有返回,原因是返回的类型为Dish,Dish中只有菜品分类的id,而没有菜品名,跟前端无法对应,所以没有显示值。

解决办法:考虑使用DTO类,即DishDto对属性进行扩展,重新显示到前端页面。

修改后的后端代码:

实现修改菜品信息:
查看前端接口:

根据dish的id查找到dish的基本信息和对应的口味,处理页面回显(点击修改按钮,文本框出现菜品的信息和口味信息)。

实现后端接口代码:

实现点击保存,修改菜品表和口味表:

dishServiceImpl新增方法如下

前端请求

后端响应

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/264389.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【电路笔记】-压敏电阻

压敏电阻 文章目录 压敏电阻1、概述2、交流波形瞬变3、抗静电能力4、特性曲线5、压敏电阻电容值6、金属氧化物压敏电阻7、压敏电阻应用8、总结 压敏电阻是一种无源两端固态半导体器件,用于为电气和电子电路提供保护。 1、概述 与提供过电流保护的保险丝或断路器不同…

Shell 常用命令详解-上

Shell 常用命令详解-上 1.目录查阅相关命令2.文件操作相关命令 1.目录查阅相关命令 ll 命令 命令描述:ll命令用于显示指定工作目录下的内容。 命令格式:ll [参数] [目录名]。 参数说明: 参数说明-a显示所有文件及目录(包括隐藏文…

软件工程考试复习

第一章、软件工程概述 🌟软件程序数据文档(考点) 🌟计算机程序及其说明程序的各种文档称为 ( 文件 ) 。计算任务的处理对象和处理规则的描述称为 ( 程序 )。有关计算机程序功能、…

安卓上比iOS快捷指令更强大的工具——MacroDroid

使用 MacroDroid (Android) 自动化您的日常生活——一个简单的自动化应用程序,用于在 Android 上自动执行任务以及如何在其上自动执行任务。 iOS 和 Android 之间的区别? iOS和Android是两种不同的移动操作系统,iOS由苹果公司开发,于2007年…

Threejs项目实战之二:产品三维爆炸图效果展示

目录 最终效果1. 实现原理2. 创建项目3. 编写代码 最终效果 今天我们来实现如何使用ThreeJS实现产品的三维爆炸图分解与组合的效果,先看下最终项目完成后的效果展示动画 1. 实现原理 要实现这种爆炸图的分解与组合效果,其实原理很简单,就…

Android:java.lang.RuntimeException: Unable to start activity ComponentInfo

java.lang.RuntimeException: Unable to start activity ComponentInfo 报错描述: 在导入别人项目运行时出现了这个报错: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.news/com.example.activity.DetailNews}: ja…

react之项目打包,本地预览,路由懒加载,打包体积分析以及如何配置CDN

react之项目打包,本地预览,路由懒加载,打包体积分析以及如何配置CDN 一、项目打包二、项目本地预览三、路由懒加载四、打包体积分析五、配置CDN 一、项目打包 执行命令 npm run build根目录下生成的build文件夹 及时打包后的文件 二、项目本地预览 1.全局安装本地服务包 npm…

python zblog API实现类似XMLRPC/发布文章

我发现python对Zblog的XML发布并不友好,虽然也有对应的模块,但是远远没有XPCRPC更直接方便,但是使用xmlRpc是直接给发布文章带来了不小的便利,但是对系统也并不友好,但是zblog也开放了Api,但是干部子弟不乐…

基于Spring+Spring boot的SpringBoot在线电子商城管理系统

SSM毕设分享 基于SpringSpring boot的SpringBoot在线电子商城管理系统 1 项目简介 Hi,各位同学好,这里是郑师兄! 今天向大家分享一个毕业设计项目作品【基于SpringSpring boot的SpringBoot在线电子商城管理系统】 师兄根据实现的难度和等级…

【金融数据分析】计算沪深300指数行业权重分布并用饼图展示

前言 前面的文章我们已经介绍了如何获取沪深300成分股所述行业以及权重的数据,想要了解这部分内容的小伙伴可以阅读上一篇文章 springbootjdbcTemplatesqlite编程示例——以沪深300成分股数据处理为例-CSDN博客 那么有了上文获取的数据,我们实际上可以…

Python轴承故障诊断 (五)基于EMD-LSTM的故障分类

目录 前言 1 经验模态分解EMD的Python示例 2 轴承故障数据的预处理 2.1 导入数据 2.2 制作数据集和对应标签 2.3 故障数据的EMD分解可视化 2.4 故障数据的EMD分解预处理 3 基于EMD-LSTM的轴承故障诊断分类 3.1 训练数据、测试数据分组,数据分batch 3.2 定…

成都工业学院Web技术基础(WEB)实验四:CSS3布局应用

写在前面 1、基于2022级计算机大类实验指导书 2、代码仅提供参考,前端变化比较大,按照要求,只能做到像,不能做到一模一样 3、图片和文字仅为示例,需要自行替换 4、如果代码不满足你的要求,请寻求其他的…