MenuController.java 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package com.video.script.admin.controller;
  2. import com.video.script.admin.common.ApiResponse;
  3. import com.video.script.admin.dto.MenuSaveRequest;
  4. import com.video.script.admin.entity.SysMenu;
  5. import com.video.script.admin.service.MenuService;
  6. import java.util.List;
  7. import javax.validation.Valid;
  8. import org.springframework.web.bind.annotation.DeleteMapping;
  9. import org.springframework.web.bind.annotation.GetMapping;
  10. import org.springframework.web.bind.annotation.PathVariable;
  11. import org.springframework.web.bind.annotation.PostMapping;
  12. import org.springframework.web.bind.annotation.RequestBody;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import org.springframework.web.bind.annotation.RequestParam;
  15. import org.springframework.web.bind.annotation.RestController;
  16. @RestController
  17. @RequestMapping("/api/menus")
  18. public class MenuController {
  19. private final MenuService menuService;
  20. public MenuController(MenuService menuService) {
  21. this.menuService = menuService;
  22. }
  23. @GetMapping
  24. public ApiResponse<List<SysMenu>> list(@RequestParam(value = "keyword", required = false) String keyword) {
  25. return ApiResponse.success(menuService.list(keyword));
  26. }
  27. @PostMapping
  28. public ApiResponse<Void> save(@Valid @RequestBody MenuSaveRequest request) {
  29. menuService.save(request);
  30. return ApiResponse.success();
  31. }
  32. @DeleteMapping("/{id}")
  33. public ApiResponse<Void> delete(@PathVariable("id") Long id) {
  34. menuService.delete(id);
  35. return ApiResponse.success();
  36. }
  37. }