From 26237e4d128f0620b05fc3811e2e97a3d0d9ae99 Mon Sep 17 00:00:00 2001 From: eunbin00 Date: Fri, 18 Aug 2023 18:11:50 +0900 Subject: [PATCH] #20 - Feat: Add Car Navigation controllers --- .../CarNavigationRestController.java | 53 +++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/main/java/org/routemaster/api/total/domain/navigation/controller/CarNavigationRestController.java diff --git a/src/main/java/org/routemaster/api/total/domain/navigation/controller/CarNavigationRestController.java b/src/main/java/org/routemaster/api/total/domain/navigation/controller/CarNavigationRestController.java new file mode 100644 index 0000000..788ad6b --- /dev/null +++ b/src/main/java/org/routemaster/api/total/domain/navigation/controller/CarNavigationRestController.java @@ -0,0 +1,53 @@ +package org.routemaster.api.total.domain.navigation.controller; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.routemaster.api.total.domain.navigation.data.CarNavigationRoutes; +import org.routemaster.api.total.domain.navigation.service.CarNavigationService; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; +import reactor.core.publisher.Mono; + +@Slf4j +@RestController +@RequestMapping("/navigation") +@RequiredArgsConstructor +public class CarNavigationRestController { + + private final CarNavigationService carNavigationService; + + @GetMapping("/car") + public ResponseEntity> navigate( + @RequestParam Double originLatitude, + @RequestParam Double originLongitude, + @RequestParam Double destinationLatitude, + @RequestParam Double destinationLogitude, + @RequestParam(required = false) String priority, + @RequestParam(required = false) String avoid, + @RequestParam(required = false) Boolean alternatives, + @RequestParam(required = false) Boolean roadDetails, + @RequestParam(required = false) Integer carType, + @RequestParam(required = false) String carFuel, + @RequestParam(required = false) Boolean carHipass, + @RequestParam(required = false) Boolean summary + ) { + return ResponseEntity.ok( + carNavigationService.navigate( + originLatitude, + originLongitude, + destinationLatitude, + destinationLogitude, + priority, + avoid, + alternatives, + roadDetails, + carType, + carFuel, + carHipass, + summary + )); + } +}