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

响应的数据
