Loading... ### 批量操作: `http://localhost:8080/setmeal?ids=1556120530745069570,1415580119015145474` 当我们遇到这种`?ids=...,...,`我们会使用集合来接收这种参数,但是在使用集合的时候必须在集合前面加上`@RequestParam`这个注解,否则接收不到数据 #### 示例: ```java @DeleteMapping public R<String> deleteBatch(@RequestParam List<Long> ids){ log.info(ids.toString()); return R.success("删除成功!"); } ``` ### 分页请求格式一: `http://localhost:8080/employee/page?page=1&pageSize=10` 当我们遇到上面这种请求格式,在在形参列表不需要写`@PathVariable` #### 代码示例: ```java /** * 员工信息分页查询 * @param page * @param pageSize * @param name * @return */ @GetMapping("/page") public R<Page> page( int page, int pageSize, String name ){ log.info("page = {}, pageSize = {}, name = {}", page, pageSize, name); // 构造分页构造器 final Page pageInfo = new Page(page, pageSize); // 构造条件构造器 final LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>(); // 添加过滤条件 queryWrapper.like(name != null, Employee::getName, name); // 添加排序条件 queryWrapper.orderByDesc(Employee::getUpdateTime); // 执行查询 employeeService.page(pageInfo, queryWrapper); return R.success(pageInfo); } ``` ### 分页请求格式二: `http://localhost:8080/employee/page/1/10` 但是当我们使用这种格式就需要在形参列表加上`@PathVariable`,而且还需要在mapping注解加上解析变量的{} #### 代码示例: ```java /** * 分页查询 * @param currentPage 当前页数 * @param pageSize 每页显示条数 * @return */ @GetMapping("/page/{currentPage}/{pageSize}") public List<Book> getPage(@PathVariable int currentPage,@PathVariable int pageSize){ final Page<Book> page = bookService.page(new Page<>(currentPage, pageSize)); return page.getRecords(); } ``` ### 其他: 在温习一下**restful风格** ```java /** * @code Description * @code author 本当迷 * @code date 2022/8/4-21:39 */ @RestController @RequestMapping("/books") public class BookController { @Autowired private IBookService bookService; /** * 获取全部数据 * @return */ @GetMapping public List<Book> getAll(){ return bookService.list(); } /** * 添加数据 * @param book * @return */ @PostMapping public String save(@RequestBody Book book){ final boolean check = bookService.save(book); return check ? "添加成功" : "添加失败"; } /** * 根据id获取数据 * @param id * @return */ @GetMapping("/{id}") public Book getById(@PathVariable int id){ return bookService.getById(id); } /** * 根据id进行修改 * @param book * @return */ @PutMapping public String update(@RequestBody Book book){ final boolean check = bookService.updateById(book); return check ? "更新成功!" : "更新失败"; } /** * 根据id进行删除 * @param id * @return */ @DeleteMapping("/{id}") public String delete(@PathVariable int id){ final boolean check = bookService.removeById(id); return check ? "删除成功" : "删除失败"; } /** * 分页查询 * @param currentPage 当前页数 * @param pageSize 每页显示条数 * @return */ @GetMapping("/page/{currentPage}/{pageSize}") public List<Book> getPage(@PathVariable int currentPage,@PathVariable int pageSize){ final Page<Book> page = bookService.page(new Page<>(currentPage, pageSize)); return page.getRecords(); } } ``` ## 总结: * 使用restful,当传入参数中有josn数据不要忘记在形参列表加上 **@RequestBody** 注解 * 使用restful,当传入参数为路径变量时,不要忘记在形参列表加上 **@PathVariable** 注解,并且还要在mapping注解上加上解析变量:比如 `@DeleteMapping("/{id}") `中的{"/id"} 最后修改:2022 年 08 月 07 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果文章有用,请随意打赏。