Java项目-瑞吉外卖Day4

2023-12-14 16:38:56

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

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

上传文件的后端代码,需要注意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新增方法如下

前端请求

后端响应

文章来源:https://blog.csdn.net/weixin_52861033/article/details/134904243
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。