菜品分类
新增菜品
文件上传
springboot可以自动转换,不使用横线风格也算对
思路:定义配置属性类读取yml中的配置项,然后把这个配置类注入到容器,这个对象就封装好了数据
然后定义工具类AliossUtils,这个工具类的方法就是获取已上传图片在阿里云服务器中存储的url
要使用这个方法就要初始化AliossUtils对象,定义配置类,初始化AliossUtils对象。并使用@Bean将第三方对象注入容器。
然后就是在controller直接调用AliossUtils即可,详细看代码。
这里要说的是swagger对文件上传这个api支持并不友好,它不能上传图片,还得用postman测试
新增菜品:
写好了controller层,在serviceImpl对应的方法中:涉及到两张表的操作:向菜品表和口味表插入数据,涉及到多个表的操作
要保证数据的一致性,故需要加上注解@Transactional事务注解,保证方法是原子性,要么同时成功要么同时失败,前提是开始注解方式的事务管理,例如:
先进行对菜品的添加:
从DTO中把数据拷贝给Dish,调用方法进行增加。
然后进行对口味的添加:
因为在前端无法获取到dishId这个属性值,所以要在对菜品的添加的mapper中扩充一些东西,具体看详细代码,然后在对菜品的添加的mapper执行后获取菜品id,也就是dishId。
判断是否上传了口味,若上传,则通过forEach语句把dishId赋值给所有DishFlavor对象,然后通过sql批量插入进行添加。
最后菜品表多了一条数据,口味表多了至少一条数据