Java项目-瑞吉外卖Day4

实现文件的上传下载:
前端代码:
Java项目-瑞吉外卖Day4_第1张图片

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

上传文件的后端代码,需要注意MultipartFile的名字必须与前端相对:
Java项目-瑞吉外卖Day4_第2张图片

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

Java项目-瑞吉外卖Day4_第3张图片

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

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

Java项目-瑞吉外卖Day4_第4张图片

实现下载功能:

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

Java项目-瑞吉外卖Day4_第5张图片

后端代码:

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

Java项目-瑞吉外卖Day4_第6张图片

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

Java项目-瑞吉外卖Day4_第7张图片

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

前端请求:

Java项目-瑞吉外卖Day4_第8张图片

在CategoryController中添加方法。

Java项目-瑞吉外卖Day4_第9张图片

显示效果:

Java项目-瑞吉外卖Day4_第10张图片

看到前端请求和负载:

Java项目-瑞吉外卖Day4_第11张图片

Java项目-瑞吉外卖Day4_第12张图片

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

Java项目-瑞吉外卖Day4_第13张图片

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

Java项目-瑞吉外卖Day4_第14张图片

Java项目-瑞吉外卖Day4_第15张图片

controller中调用:

Java项目-瑞吉外卖Day4_第16张图片

实现菜品分页:
后端代码:
Java项目-瑞吉外卖Day4_第17张图片

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

Java项目-瑞吉外卖Day4_第18张图片

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

修改后的后端代码:

Java项目-瑞吉外卖Day4_第19张图片

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

Java项目-瑞吉外卖Day4_第20张图片

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

Java项目-瑞吉外卖Day4_第21张图片

实现后端接口代码:

Java项目-瑞吉外卖Day4_第22张图片

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

dishServiceImpl新增方法如下

Java项目-瑞吉外卖Day4_第23张图片

前端请求
Java项目-瑞吉外卖Day4_第24张图片

后端响应

Java项目-瑞吉外卖Day4_第25张图片

你可能感兴趣的:(java,开发语言)