package com.takensoft.cms.menu.web; import com.takensoft.cms.menu.service.MenuService; import com.takensoft.cms.menu.vo.MenuRequest; import com.takensoft.cms.menu.vo.MenuVO; import com.takensoft.cms.menu.vo.SysMenuVO; import com.takensoft.common.HierachyVO; import com.takensoft.common.util.ResponseData; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; 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.RestController; import java.nio.charset.Charset; import java.util.HashMap; import java.util.List; /** * @author : takensoft * @since : 2024.04.30 * * 메뉴 정보 관련 컨트롤러(사용자단용) */ @RestController @RequiredArgsConstructor @Slf4j @RequestMapping(value = "/sys/menu") public class SystemMenuController { private final MenuService menuService; /** * @author takensoft * @since 2024.04.30 * @param * @return * @throws Exception * * 메뉴 조회(홈페이지 메뉴 조회용) */ @PostMapping(value = "/findByMenu.json") public ResponseEntity findByMenu(@RequestBody MenuRequest menuRequest) throws Exception { List menuList = menuService.findByMenuWithRouter(menuRequest); HashMap result = new HashMap<>(); result.put("menuList", menuList); // 응답 처리 HttpHeaders headers = new HttpHeaders(); headers.setContentType(new MediaType("application", "json", Charset.forName("UTF-8"))); ResponseData responseData = new ResponseData(); responseData.setStatus(HttpStatus.OK); responseData.setMessage("정상적으로 메뉴 조회가 처리되었습니다."); responseData.setData(result); return new ResponseEntity<>(responseData, headers, HttpStatus.OK); } }