diff --git a/src/main/java/com/palnet/biz/api/bas/flight/controller/BasFlightController.java b/src/main/java/com/palnet/biz/api/bas/flight/controller/BasFlightController.java index fd3190e..07d2b31 100644 --- a/src/main/java/com/palnet/biz/api/bas/flight/controller/BasFlightController.java +++ b/src/main/java/com/palnet/biz/api/bas/flight/controller/BasFlightController.java @@ -10,6 +10,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import io.swagger.annotations.Api; import org.json.simple.JSONObject; import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; @@ -57,7 +58,7 @@ import lombok.extern.slf4j.Slf4j; @Slf4j @RestController @RequestMapping(value = "/api/bas/flight", produces = {MediaType.APPLICATION_JSON_VALUE}) -@Tag(name = "비행계획서", description = "비행계획서 관련 API") +@Api(value = "BasFlightController",tags = {"Flight Plan API"}) public class BasFlightController { private final BasFlightService basFlightService; @@ -74,7 +75,6 @@ public class BasFlightController { } @GetMapping("/area") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") public ResponseEntity findAirSpace() throws IOException, ParseException { // 1. file read Resource resource = new ClassPathResource("air/airgeo.json"); @@ -99,10 +99,9 @@ public class BasFlightController { // 비행계획서 조회 @GetMapping(value = "/plan/list") - @ApiOperation(value = "비행계획서 조회") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") + @ApiOperation(value = "Flight Plan List") public ResponseEntity findPlanList(BasFlightPlanListRq rq) { - ComnPagingRs result = null; + ComnPagingRs result = null; // System.out.println(rq); try { result = basFlightService.listPlan(rq); @@ -117,9 +116,8 @@ public class BasFlightController { // 비행계획서 상세 조회 @GetMapping(value = "/plan/detail/{planSno}") - @ApiOperation(value = "비행계획서 상세 조회") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") - @ApiImplicitParam(name = "planSno",value = "비행계획서일련번호", dataTypeClass = Integer.class) + @ApiOperation(value = "Flight Plan Detail") + @ApiImplicitParam(name = "planSno",value = "planSno", dataTypeClass = Integer.class) public ResponseEntity detailPlan(@PathVariable("planSno") Integer planSno) { BasFlightPlanModel result = null; try { @@ -135,8 +133,7 @@ public class BasFlightController { // 비행계획서 등록 @PostMapping(value = "/plan/create") - @ApiOperation(value = "비행계획서 등록") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") + @ApiOperation(value = "Create Flight Plan") public ResponseEntity createPlan(@RequestBody BasFlightPlanModel rq) { Map resultMap = new HashMap(); try { @@ -162,8 +159,7 @@ public class BasFlightController { // 비행계획서 수정 @PutMapping(value = "/plan/update") - @ApiOperation(value = "비행계획서 수정") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") + @ApiOperation(value = "Update Flight Plan") public ResponseEntity updatePlan(@RequestBody BasFlightPlanModel rq) { Map resultMap = new HashMap(); try { @@ -187,9 +183,8 @@ public class BasFlightController { // 비행계획서 삭제 @DeleteMapping(value = "/plan/delete/{planSno}") - @ApiOperation(value = "비행계획서 삭제") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") - @ApiImplicitParam(name = "planSno",value = "비행계획서일련번호", dataTypeClass = Integer.class) + @ApiOperation(value = "Delete Flight Plan") + @ApiImplicitParam(name = "planSno",value = "planSno", dataTypeClass = Integer.class) public ResponseEntity deletePlan(@PathVariable("planSno") Integer planSno) { Map resultMap = new HashMap(); try { @@ -212,9 +207,8 @@ public class BasFlightController { // 그룹 조종사 조회 @GetMapping(value = "/plan/pilot/{groupId}") - @ApiOperation(value = "그룹의 조종사 조회") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") - @ApiImplicitParam(name = "groupId",value = "그룹ID", dataTypeClass = String.class) + @ApiOperation(value = "Group Pilot List") + @ApiImplicitParam(name = "groupId",value = "groupId", dataTypeClass = String.class) public ResponseEntity findPilot(@PathVariable("groupId") String groupId) { List result = null; try { @@ -231,9 +225,8 @@ public class BasFlightController { } // 그룹 기체 조회 @GetMapping(value = "/plan/arcrft/{groupId}") - @ApiOperation(value = "그룹의 기체 조회") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") - @ApiImplicitParam(name = "groupId",value = "그룹ID", dataTypeClass = String.class) + @ApiOperation(value = "Group Arcrft") + @ApiImplicitParam(name = "groupId",value = "groupId", dataTypeClass = String.class) public ResponseEntity findArcrft(@PathVariable("groupId") String groupId) { List result = null; try { @@ -250,8 +243,7 @@ public class BasFlightController { // 비행 구역 버퍼 존 생성 @PostMapping("/plan/area/buffer") - @ApiOperation(value = "비행 구역 버퍼 존 생성") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") + @ApiOperation(value = "Flight area buffer Create") public ResponseEntity findBuffer(@RequestBody List rq) { List rs = null; try { @@ -266,28 +258,26 @@ public class BasFlightController { } @GetMapping("/plan/api/weather") - @ApiOperation(value = "비행계획서 날씨") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") + @ApiOperation(value = "Flight Plan Weather") public ResponseEntity restApiGetWeather(BasFlightWeatherModel rq){ - JSONObject jsonObject = null; - - try { - jsonObject = basFlightService.getWeather(rq); - } catch (Exception e) { - log.error("IGNORE : {}", e); - return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) - .body(new ErrorResponse("Server Error", "-1")); - } + JSONObject jsonObject = null; + + try { + jsonObject = basFlightService.getWeather(rq); + } catch (Exception e) { + log.error("IGNORE : {}", e); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) + .body(new ErrorResponse("Server Error", "-1")); + } return ResponseEntity.ok().body(new SuccessResponse<>(jsonObject)); } // 비행계획서 리스트(승인) @GetMapping(value = "/aprv/list") - @ApiOperation(value = "비행계획서 리스트(승인)") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") + @ApiOperation(value = "Flight Plan Aprv List") public ResponseEntity findAprvList(BasFlightPlanListRq rq) { - ComnPagingRs result = null; + ComnPagingRs result = null; try { result = basFlightService.aprvList(rq); } catch (Exception e) { @@ -300,8 +290,7 @@ public class BasFlightController { } // 비행계획서 승인/미승인 @PutMapping(value = "/aprv/proc") - @ApiOperation(value = "비행 계획서 승인/미승인") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") + @ApiOperation(value = "Flight Plan aprv/proc") public ResponseEntity updateAprvProc(@RequestBody BasFlightAprovRq rq) { Map resultMap = new HashMap(); try { @@ -324,7 +313,6 @@ public class BasFlightController { } @PostMapping("/airspace/contains") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") public ResponseEntity checkAirspaceContains(@RequestBody List rq) { Map resultMap = new HashMap(); try { @@ -340,33 +328,31 @@ public class BasFlightController { return ResponseEntity.ok().body(new SuccessResponse<>(resultMap)); } - + //지역 검색 @GetMapping("/plan/area/search") - @ApiOperation(value = "지역 검색") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") - public ResponseEntity searchArea(String query) throws ParseException { - String text = null; - try { - text = URLEncoder.encode(query, "UTF-8"); - } catch (UnsupportedEncodingException e) { - throw new RuntimeException("검색어 인코딩 실패", e); - } - - String apiURL = env.getProperty("api.naver.search-url") + "?query=" + text + "&display=5"; - Map requestHeaders = new HashMap<>(); - requestHeaders.put("X-Naver-Client-Id", env.getProperty("api.naver.client-id")); - requestHeaders.put("X-Naver-Client-Secret", env.getProperty("api.naver.client-secret-key")); - String responseBody = basFlightService.searchArea(apiURL, requestHeaders); - - JSONParser parser = new JSONParser(); - Object obj = parser.parse(responseBody); - - return ResponseEntity.ok().body(new SuccessResponse<>(obj)); - } + @ApiOperation(value = "Search area") + public ResponseEntity searchArea(String query) throws ParseException{ + String text = null; + try { + text = URLEncoder.encode(query, "UTF-8"); + } catch (UnsupportedEncodingException e) { + throw new RuntimeException("Search Encoding Fail", e); + } + + String apiURL = env.getProperty("api.naver.search-url") + "?query=" + text + "&display=5"; + Map requestHeaders = new HashMap<>(); + requestHeaders.put("X-Naver-Client-Id", env.getProperty("api.naver.client-id")); + requestHeaders.put("X-Naver-Client-Secret", env.getProperty("api.naver.client-secret-key")); + String responseBody = basFlightService.searchArea(apiURL, requestHeaders); + + JSONParser parser = new JSONParser(); + Object obj = parser.parse(responseBody); + + return ResponseEntity.ok().body(new SuccessResponse<>(obj)); + } @GetMapping("/schedule") - @Tag(name = "비행계획서", description = "비행계획서 관련 API") public ResponseEntity findSchedule(@RequestParam("searchDate") String searchDate) { List response;