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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!