package com.video.script.admin.controller; import com.video.script.admin.common.ApiResponse; import com.video.script.admin.dto.MenuSaveRequest; import com.video.script.admin.entity.SysMenu; import com.video.script.admin.service.MenuService; import java.util.List; import javax.validation.Valid; import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/api/menus") public class MenuController { private final MenuService menuService; public MenuController(MenuService menuService) { this.menuService = menuService; } @GetMapping public ApiResponse> list(@RequestParam(value = "keyword", required = false) String keyword) { return ApiResponse.success(menuService.list(keyword)); } @PostMapping public ApiResponse save(@Valid @RequestBody MenuSaveRequest request) { menuService.save(request); return ApiResponse.success(); } @DeleteMapping("/{id}") public ApiResponse delete(@PathVariable("id") Long id) { menuService.delete(id); return ApiResponse.success(); } }