苍穹外卖-Day04

1.文件上传

1.需求分析与设计

path:/admin/common/upload

method:POST

2.代码开发

在yml文件中配置阿里云

复制代码
alioss:
  endpoint: 
  access-key-id: 
  access-key-secret: 
  bucket-name: 

创建一个配置类

复制代码
@Configuration
@Slf4j
public class OssConfiguration {

    @Bean
    @ConditionalOnMissingBean
    public AliOssUtil aliOssUtil(AliOssProperties aliOssProperties){
        log.info("开始创建阿里云文件上传工具类:{}", aliOssProperties);
     return new AliOssUtil(aliOssProperties.getEndpoint(),
             aliOssProperties.getAccessKeyId(),
             aliOssProperties.getAccessKeySecret(),
             aliOssProperties.getBucketName());
    }
}

在CommonController中注入阿里云工具类

复制代码
@Autowired
private AliOssUtil aliOssUtil;
复制代码
String originalFilename = file.getOriginalFilename();
//截取原始文件名的后缀
String extension = originalFilename.substring(originalFilename.lastIndexOf("."));
String objectName = UUID.randomUUID().toString() + extension;
//文件上传upload
String filePath = aliOssUtil.upload(file.getBytes(), objectName);

return Result.success(filePath);

2.新增菜品

1.需求分析与设计

path:/admin/dish

method:POST

2.代码开发

将请求参数封装在DTO中,在Service层中,将DTO对象转为Dish对象

复制代码
Dish dish = new Dish();
BeanUtils.copyProperties(dishDTO,dish);

xml文件中执行插入菜品操作时,得到id

复制代码
useGeneratedKeys="true" keyProperty="id"
复制代码
Long dishId = dish.getId();

后执行口味的插入,不为空,遍历口味进行菜品id的赋值

复制代码
List<DishFlavor> flavors = dishDTO.getFlavors();
if(flavors != null && flavors.size() > 0){
  flavors.forEach(dishFlavor -> {
      dishFlavor.setDishId(dishId);
  });
    dishFlavorMapper.insertBatch(flavors);

3.菜品分页查询

1.需求分析与设计

path:/admin/dish/page

method:GET

响应的数据

2.代码开发

4.删除菜品

1.需求分析与设计

path:/admin/dish

method:DELETE

2.代码开发

5.修改菜品

1.需求分析与设计

先根据Id查询菜品用于页面回显

path:/admin/dish/{id}

method:GET

再修改

path:/admin/dish

method:PUT

响应的数据

2.代码开发

相关推荐
学长毕设4 小时前
基于SpringBoot的实验室资产管理系统
java·spring boot·后端
zzu123zsw6 小时前
从臃肿的模板调用到声明式契约:深入 UniHttp 动态代理与多渠道生命周期扩展
java·spring boot·microsoft·unihttp
源码集结号6 小时前
云诊所门诊系统源码,基于SpringBoot+Vue.js架构,支持多租户设计与Docker容器化部署
java·spring boot·源码·医院信息系统·门诊系统·诊所系统
论文复现现场7 小时前
WRF、FEA 能用 L40S 加速吗?求解器检查、断点恢复与长期运行
java·数据库·算法·wrf·有限元分析·gpu计算·断点续算
啃瓜子的松鼠7 小时前
泛微OAe9-后端二开异步调用
java
秋天的怀念_David8 小时前
第二十一夜 · 数字黑洞与西西弗斯的惩罚
java·程序人生·算法
外收内放8 小时前
Python基础语法练习题(73)
java·前端·python
Wang's Blog8 小时前
Java 项目实战: 交友项目 - 环信后台发送消息测试
java·交友
用户3721574261358 小时前
Java 操作 Word 脚注和尾注:添加、读取与删除
java
小嘉丶学长9 小时前
Day14 · 字典与集合
java·开发语言·网络·python·学习·1024程序员节