苍穹外卖day12

发布时间:2026/7/12 20:39:53
苍穹外卖day12 关于新增菜品的完整开发 逻辑首先控制层RestController RequestMapping(/admin/dish) Api(tags菜品相关接口) Slf4j public class DishController { Autowired private DishService dishService; /** * 新增菜品 * param dishDTO * return */ PostMapping ApiOperation(新增菜品) public Result save(RequestBody DishDTO dishDTO){ dishService.SaveWithFlavor(dishDTO); return Result.success(); } }接收前端请求把业务交给 Service最后返回结果。Controller不要写业务逻辑这是三层架构最重要的原则之一。说清楚一次新增菜品请求是如何从前端流转到 Service 的前端点击 保存按钮 根据注解RequestMapping(/admin/dish)找到对应的控制层看见RequestBody 把json格式的数据封装成DTO 也就是dishdto 然后 postmapping 表示只有post请求能访问关于一些概念的澄清为什么要有访问方式的区别方法不是直接调用的吗区分 http请求和普通java代码调用浏览器 ↓ HTTP请求 ↓ Tomcat ↓ Spring MVC ↓ DishController.save() ↓ Service ↓ Mapperimplements DishService说明实现接口。Service告诉Spring这是业务层。Spring启动的时候会创建DishServiceImpl对象。Transactional一句话这个方法里的数据库操作要么全部成功要么全部失败。菜品分页查询功能第一步明确业务规则第二步 明确接口设计请求参数就是前端传来的参数Query 就是地址后面的不是json格式是查询参数第三步 代码开发设计DTO写代码吧只说几个需要特别记忆的点分页查询需要用到pageHeper插件能看明白就可以