From f01ce7e861c8f94d4d33dad9032d63fbc8ea262d Mon Sep 17 00:00:00 2001 From: msk226 Date: Sun, 9 Mar 2025 16:59:35 +0900 Subject: [PATCH 1/6] =?UTF-8?q?[FEATURE]=20=EC=97=AC=ED=96=89=20=EC=8A=A4?= =?UTF-8?q?=ED=83=80=EC=9D=BC=20API=20=EA=B4=80=EB=A0=A8=20DTO=20=EC=83=9D?= =?UTF-8?q?=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/dto/style/request/UserStyleRequestDTO.java | 7 +++++++ .../style/response/UserStyleInitResponseDTO.java | 8 ++++++++ .../dto/style/response/UserStyleResponseDTO.java | 14 ++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 src/main/java/hyu/erica/capstone/web/dto/style/request/UserStyleRequestDTO.java create mode 100644 src/main/java/hyu/erica/capstone/web/dto/style/response/UserStyleInitResponseDTO.java create mode 100644 src/main/java/hyu/erica/capstone/web/dto/style/response/UserStyleResponseDTO.java diff --git a/src/main/java/hyu/erica/capstone/web/dto/style/request/UserStyleRequestDTO.java b/src/main/java/hyu/erica/capstone/web/dto/style/request/UserStyleRequestDTO.java new file mode 100644 index 0000000..aac22bd --- /dev/null +++ b/src/main/java/hyu/erica/capstone/web/dto/style/request/UserStyleRequestDTO.java @@ -0,0 +1,7 @@ +package hyu.erica.capstone.web.dto.style.request; + +import java.time.LocalDateTime; + +public record UserStyleRequestDTO(String city, LocalDateTime startDate, LocalDateTime endDate, + String preferActivity, String requirement) { +} diff --git a/src/main/java/hyu/erica/capstone/web/dto/style/response/UserStyleInitResponseDTO.java b/src/main/java/hyu/erica/capstone/web/dto/style/response/UserStyleInitResponseDTO.java new file mode 100644 index 0000000..ae15e5f --- /dev/null +++ b/src/main/java/hyu/erica/capstone/web/dto/style/response/UserStyleInitResponseDTO.java @@ -0,0 +1,8 @@ +package hyu.erica.capstone.web.dto.style.response; + +public record UserStyleInitResponseDTO(Long userId, Long styleId) { + + public static UserStyleInitResponseDTO of(Long userId, Long styleId) { + return new UserStyleInitResponseDTO(userId, styleId); + } +} diff --git a/src/main/java/hyu/erica/capstone/web/dto/style/response/UserStyleResponseDTO.java b/src/main/java/hyu/erica/capstone/web/dto/style/response/UserStyleResponseDTO.java new file mode 100644 index 0000000..8ff7bd5 --- /dev/null +++ b/src/main/java/hyu/erica/capstone/web/dto/style/response/UserStyleResponseDTO.java @@ -0,0 +1,14 @@ +package hyu.erica.capstone.web.dto.style.response; + +import hyu.erica.capstone.domain.Style; +import java.time.LocalDateTime; + +public record UserStyleResponseDTO(String city, LocalDateTime startDate, LocalDateTime endDate, + String preferActivity, String requirement) { + + public static UserStyleResponseDTO of(Style style) { + return new UserStyleResponseDTO(style.getCity().name(), style.getStartDate(), style.getEndDate(), + style.getPreferActivity(), style.getRequirement()); + } +} + From c556001a104fdb81093bce89c8e5702eb25b10bb Mon Sep 17 00:00:00 2001 From: msk226 Date: Sun, 9 Mar 2025 17:00:00 +0900 Subject: [PATCH 2/6] =?UTF-8?q?[FEATURE]=20=EC=97=AC=ED=96=89=20=EC=8A=A4?= =?UTF-8?q?=ED=83=80=EC=9D=BC=20=EC=A1=B0=ED=9A=8C=20=EA=B8=B0=EB=8A=A5=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/style/StyleQueryService.java | 8 +++++ .../service/style/StyleQueryServiceImpl.java | 35 +++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 src/main/java/hyu/erica/capstone/service/style/StyleQueryService.java create mode 100644 src/main/java/hyu/erica/capstone/service/style/StyleQueryServiceImpl.java diff --git a/src/main/java/hyu/erica/capstone/service/style/StyleQueryService.java b/src/main/java/hyu/erica/capstone/service/style/StyleQueryService.java new file mode 100644 index 0000000..9f3c1f3 --- /dev/null +++ b/src/main/java/hyu/erica/capstone/service/style/StyleQueryService.java @@ -0,0 +1,8 @@ +package hyu.erica.capstone.service.style; + +import hyu.erica.capstone.web.dto.style.response.UserStyleResponseDTO; + +public interface StyleQueryService { + + UserStyleResponseDTO getStyle(Long styleId, Long userId); +} diff --git a/src/main/java/hyu/erica/capstone/service/style/StyleQueryServiceImpl.java b/src/main/java/hyu/erica/capstone/service/style/StyleQueryServiceImpl.java new file mode 100644 index 0000000..42a1ad3 --- /dev/null +++ b/src/main/java/hyu/erica/capstone/service/style/StyleQueryServiceImpl.java @@ -0,0 +1,35 @@ +package hyu.erica.capstone.service.style; + +import hyu.erica.capstone.api.code.status.ErrorStatus; +import hyu.erica.capstone.api.exception.GeneralException; +import hyu.erica.capstone.domain.Style; +import hyu.erica.capstone.domain.User; +import hyu.erica.capstone.repository.StyleRepository; +import hyu.erica.capstone.repository.UserRepository; +import hyu.erica.capstone.web.dto.style.response.UserStyleResponseDTO; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@Transactional(readOnly = true) +@RequiredArgsConstructor +public class StyleQueryServiceImpl implements StyleQueryService { + + private final StyleRepository styleRepository; + private final UserRepository userRepository; + + @Override + public UserStyleResponseDTO getStyle(Long styleId, Long userId) { + User user = userRepository.findById(userId) + .orElseThrow(() -> new GeneralException(ErrorStatus._USER_NOT_FOUND)); + + Style style = styleRepository.findById(styleId) + .orElseThrow(() -> new GeneralException(ErrorStatus._STYLE_NOT_FOUND)); + + if (!style.getUser().getId().equals(user.getId())) + throw new GeneralException(ErrorStatus._UNAUTHORIZED_USER); + + return UserStyleResponseDTO.of(style); + } +} From 15d8142324c17f55ed8333829e47f8013ad48085 Mon Sep 17 00:00:00 2001 From: msk226 Date: Sun, 9 Mar 2025 17:00:12 +0900 Subject: [PATCH 3/6] =?UTF-8?q?[FEATURE]=20=EC=97=AC=ED=96=89=20=EC=8A=A4?= =?UTF-8?q?=ED=83=80=EC=9D=BC=20=EC=A1=B0=ED=9A=8C=20=EC=83=9D=EC=84=B1=20?= =?UTF-8?q?=EB=B0=8F=20=EC=B4=88=EA=B8=B0=ED=99=94=20=EA=B4=80=EB=A0=A8=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../capstone/api/code/status/ErrorStatus.java | 4 ++ .../service/style/StyleCommandService.java | 14 +++++ .../style/StyleCommandServiceImpl.java | 52 +++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 src/main/java/hyu/erica/capstone/service/style/StyleCommandService.java create mode 100644 src/main/java/hyu/erica/capstone/service/style/StyleCommandServiceImpl.java diff --git a/src/main/java/hyu/erica/capstone/api/code/status/ErrorStatus.java b/src/main/java/hyu/erica/capstone/api/code/status/ErrorStatus.java index d370344..0abda79 100644 --- a/src/main/java/hyu/erica/capstone/api/code/status/ErrorStatus.java +++ b/src/main/java/hyu/erica/capstone/api/code/status/ErrorStatus.java @@ -34,6 +34,10 @@ public enum ErrorStatus implements BaseErrorCode { _INVALID_PASSWORD(HttpStatus.BAD_REQUEST, "USER4001", "비밀번호가 일치하지 않습니다."), _DUPLICATED_EMAIL(HttpStatus.BAD_REQUEST, "USER4002", "이미 가입된 이메일입니다."), + // 여행 취향 관련 + _STYLE_NOT_FOUND(HttpStatus.NOT_FOUND, "STYLE4040", "입력하신 여행 스타일을 찾을 수 없습니다."), + _UNAUTHORIZED_USER(HttpStatus.FORBIDDEN, "STYLE4001", "해당 사용자는 권한이 없습니다."), + ; diff --git a/src/main/java/hyu/erica/capstone/service/style/StyleCommandService.java b/src/main/java/hyu/erica/capstone/service/style/StyleCommandService.java new file mode 100644 index 0000000..831552a --- /dev/null +++ b/src/main/java/hyu/erica/capstone/service/style/StyleCommandService.java @@ -0,0 +1,14 @@ +package hyu.erica.capstone.service.style; + +import hyu.erica.capstone.web.dto.style.request.UserStyleRequestDTO; +import hyu.erica.capstone.web.dto.style.response.UserStyleInitResponseDTO; +import hyu.erica.capstone.web.dto.style.response.UserStyleResponseDTO; + +public interface StyleCommandService { + + UserStyleInitResponseDTO initStyle(Long userId); + + UserStyleResponseDTO updateStyle(Long userId, Long styleId, UserStyleRequestDTO request); + + +} diff --git a/src/main/java/hyu/erica/capstone/service/style/StyleCommandServiceImpl.java b/src/main/java/hyu/erica/capstone/service/style/StyleCommandServiceImpl.java new file mode 100644 index 0000000..d375afa --- /dev/null +++ b/src/main/java/hyu/erica/capstone/service/style/StyleCommandServiceImpl.java @@ -0,0 +1,52 @@ +package hyu.erica.capstone.service.style; + +import hyu.erica.capstone.api.code.status.ErrorStatus; +import hyu.erica.capstone.api.exception.GeneralException; +import hyu.erica.capstone.domain.Style; +import hyu.erica.capstone.domain.User; +import hyu.erica.capstone.domain.enums.City; +import hyu.erica.capstone.repository.StyleRepository; +import hyu.erica.capstone.repository.UserRepository; +import hyu.erica.capstone.web.dto.style.request.UserStyleRequestDTO; +import hyu.erica.capstone.web.dto.style.response.UserStyleInitResponseDTO; +import hyu.erica.capstone.web.dto.style.response.UserStyleResponseDTO; +import java.util.Objects; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +@Service +@Transactional +@RequiredArgsConstructor +public class StyleCommandServiceImpl implements StyleCommandService { + + private final UserRepository userRepository; + private final StyleRepository styleRepository; + + @Override + public UserStyleInitResponseDTO initStyle(Long userId) { + User user = userRepository.findById(userId).orElseThrow( () -> new GeneralException(ErrorStatus._USER_NOT_FOUND)); + + Style style = Style.builder() + .city(City.BUSAN) + .user(user) + .build(); + Style save = styleRepository.save(style); + + return UserStyleInitResponseDTO.of(userId, save.getId()); + } + + @Override + public UserStyleResponseDTO updateStyle(Long userId, Long styleId, UserStyleRequestDTO request) { + Style style = styleRepository.findById(styleId).orElseThrow( () -> new GeneralException(ErrorStatus._STYLE_NOT_FOUND)); + + if (!Objects.equals(style.getUser().getId(), userId)) + throw new GeneralException(ErrorStatus._UNAUTHORIZED_USER); + + style.updateStyle(request.startDate(), request.endDate(), request.preferActivity(), request.requirement()); + + Style save = styleRepository.save(style); + + return UserStyleResponseDTO.of(save); + } +} From 86b43cbea3c558f263c1e4db680a986fefc58f0e Mon Sep 17 00:00:00 2001 From: msk226 Date: Sun, 9 Mar 2025 17:00:22 +0900 Subject: [PATCH 4/6] =?UTF-8?q?[FEATURE]=20=EC=97=AC=ED=96=89=20=EC=8A=A4?= =?UTF-8?q?=ED=83=80=EC=9D=BC=20API=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../capstone/repository/StyleRepository.java | 9 +++ .../web/controller/StyleController.java | 81 +++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 src/main/java/hyu/erica/capstone/repository/StyleRepository.java create mode 100644 src/main/java/hyu/erica/capstone/web/controller/StyleController.java diff --git a/src/main/java/hyu/erica/capstone/repository/StyleRepository.java b/src/main/java/hyu/erica/capstone/repository/StyleRepository.java new file mode 100644 index 0000000..308acdb --- /dev/null +++ b/src/main/java/hyu/erica/capstone/repository/StyleRepository.java @@ -0,0 +1,9 @@ +package hyu.erica.capstone.repository; + +import hyu.erica.capstone.domain.Style; +import java.util.List; +import java.util.Optional; +import org.springframework.data.jpa.repository.JpaRepository; + +public interface StyleRepository extends JpaRepository { +} diff --git a/src/main/java/hyu/erica/capstone/web/controller/StyleController.java b/src/main/java/hyu/erica/capstone/web/controller/StyleController.java new file mode 100644 index 0000000..0d1bcce --- /dev/null +++ b/src/main/java/hyu/erica/capstone/web/controller/StyleController.java @@ -0,0 +1,81 @@ +package hyu.erica.capstone.web.controller; + + +import hyu.erica.capstone.api.ApiResponse; +import hyu.erica.capstone.api.code.status.SuccessStatus; +import hyu.erica.capstone.security.utils.SecurityUtils; +import hyu.erica.capstone.service.style.StyleCommandService; +import hyu.erica.capstone.service.style.StyleQueryService; +import hyu.erica.capstone.web.dto.style.request.UserStyleRequestDTO; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.CrossOrigin; +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.RestController; + +@Tag(name = "여행 스타일", description = "여행 스타일 관련 API") +@CrossOrigin +@RestController +@RequestMapping("/api/styles") +@RequiredArgsConstructor +public class StyleController { + + private final StyleQueryService styleQueryService; + private final StyleCommandService styleCommandService; + + @Operation(summary = "[선호 여행 스타일 작성 시작]", description = """ + ### 선호 여행 스타일 작성을 위한 정보를 가져옵니다. \n + 발급 받은 styleId를 통해 수시로 선호 여행 스타일을 임시 저장 할 수 있습니다. \n + + ### Response Body + - name : 회원 이름 + - styleId : 스타일 ID (해당 스타일 ID로 선호 여행 스타일을 조회, 수정할 수 있습니다.) + """) + @GetMapping("/") + public ApiResponse getUserPlanStyle() { + return ApiResponse.of(SuccessStatus._OK, styleCommandService.initStyle(SecurityUtils.getCurrentUserId())); + } + + // 선호 여행 스타일 입력 + @Operation(summary = "[선호 여행 스타일 입력 및 수정]", description = """ + ### 선호 여행 스타일을 입력 및 수정합니다. 모든 값은 필수가 아닙니다. \n + styleId를 통해 특정 선호 여행 스타일을 수정할 수 있습니다. \n + + ### Request Body + - city: 도시 + - startDate: 여행 시작 날짜 + - endDate: 여행 종료 날짜 + - preferActivity: 선호하는 활동 + - requirement: 요구사항 + """) + @PostMapping("/{styleId}") + public ApiResponse saveUserPlanStyle(@RequestBody UserStyleRequestDTO request, + @PathVariable Long styleId) { + return ApiResponse.onSuccess(SuccessStatus._OK, styleCommandService.updateStyle(SecurityUtils.getCurrentUserId(), styleId, request)); + } + + // 선호 여행 스타일 조회 + @Operation(summary = "[선호 여행 스타일 조회]", description = """ + ### 선호 여행 스타일을 조회합니다. \n + styleId를 통해 특정 선호 여행 스타일을 조회할 수 있습니다. \n + + ### Response Body + - city: 도시 + - startDate: 여행 시작 날짜 + - endDate: 여행 종료 날짜 + - preferActivity: 선호하는 활동 + - requirement: 요구사항 + """) + @GetMapping("/{styleId}") + public ApiResponse getUserPlanStyle(@PathVariable Long styleId) { + + return ApiResponse.of(SuccessStatus._OK, styleQueryService.getStyle(styleId, SecurityUtils.getCurrentUserId())); + } + + +} From ef524a91c34137a77b669870e100604cac36d5c6 Mon Sep 17 00:00:00 2001 From: msk226 Date: Sun, 9 Mar 2025 17:00:35 +0900 Subject: [PATCH 5/6] =?UTF-8?q?[FEATURE]=20=EC=97=AC=ED=96=89=20=EC=8A=A4?= =?UTF-8?q?=ED=83=80=EC=9D=BC=20=EC=97=85=EB=8D=B0=EC=9D=B4=ED=8A=B8=20?= =?UTF-8?q?=EB=A9=94=EC=84=9C=EB=93=9C=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../capstone/domain/{TravelPlan.java => Style.java} | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) rename src/main/java/hyu/erica/capstone/domain/{TravelPlan.java => Style.java} (77%) diff --git a/src/main/java/hyu/erica/capstone/domain/TravelPlan.java b/src/main/java/hyu/erica/capstone/domain/Style.java similarity index 77% rename from src/main/java/hyu/erica/capstone/domain/TravelPlan.java rename to src/main/java/hyu/erica/capstone/domain/Style.java index 9688d4d..341ba1c 100644 --- a/src/main/java/hyu/erica/capstone/domain/TravelPlan.java +++ b/src/main/java/hyu/erica/capstone/domain/Style.java @@ -25,7 +25,7 @@ @DynamicInsert @NoArgsConstructor(access = AccessLevel.PROTECTED) @AllArgsConstructor -public class TravelPlan { +public class Style { @Id @GeneratedValue(strategy = IDENTITY) private Long id; @@ -43,4 +43,11 @@ public class TravelPlan { @ManyToOne @JoinColumn(name = "user_id") private User user; + + public void updateStyle( LocalDateTime startDate, LocalDateTime endDate, String preferActivity, String requirement) { + this.startDate = startDate; + this.endDate = endDate; + this.preferActivity = preferActivity; + this.requirement = requirement; + } } From 087a377ec7a5fac475161c025b7878096429042b Mon Sep 17 00:00:00 2001 From: msk226 Date: Sun, 9 Mar 2025 17:00:59 +0900 Subject: [PATCH 6/6] =?UTF-8?q?[FEATURE]=20Swagger=20=EB=AA=85=EC=84=B8?= =?UTF-8?q?=EC=84=9C=20=EC=88=98=EC=A0=95=20:=20=EA=B0=9C=EB=B0=9C=20?= =?UTF-8?q?=EC=A0=84=20API=20=EB=B6=84=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/controller/DefaultController.java | 2 ++ .../web/controller/PlanController.java | 2 +- .../web/controller/TripPlanController.java | 31 ++++++++++--------- .../web/controller/UserController.java | 2 +- 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/main/java/hyu/erica/capstone/web/controller/DefaultController.java b/src/main/java/hyu/erica/capstone/web/controller/DefaultController.java index 6ff4aa3..9e7ed2f 100644 --- a/src/main/java/hyu/erica/capstone/web/controller/DefaultController.java +++ b/src/main/java/hyu/erica/capstone/web/controller/DefaultController.java @@ -1,9 +1,11 @@ package hyu.erica.capstone.web.controller; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; +@Tag(name = "기본", description = "기본 API") @RestController public class DefaultController { diff --git a/src/main/java/hyu/erica/capstone/web/controller/PlanController.java b/src/main/java/hyu/erica/capstone/web/controller/PlanController.java index 85634b3..8b0b301 100644 --- a/src/main/java/hyu/erica/capstone/web/controller/PlanController.java +++ b/src/main/java/hyu/erica/capstone/web/controller/PlanController.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@Tag(name = "Plan", description = "여행 계획 관련 API") +@Tag(name = "[개발 전] 여행 계획", description = "여행 계획 관련 API") @CrossOrigin @RestController @RequestMapping("/api/plans") diff --git a/src/main/java/hyu/erica/capstone/web/controller/TripPlanController.java b/src/main/java/hyu/erica/capstone/web/controller/TripPlanController.java index adae712..cd0f0c5 100644 --- a/src/main/java/hyu/erica/capstone/web/controller/TripPlanController.java +++ b/src/main/java/hyu/erica/capstone/web/controller/TripPlanController.java @@ -21,13 +21,14 @@ import org.springframework.web.bind.annotation.RestController; +@Tag(name = "[개발 전] 여행", description = "여행 관련 API") @CrossOrigin @RestController @RequestMapping("/api/trip-plans/{tripPlansId}") public class TripPlanController { // 여행 기간 입력 - @Tag(name = "Trip", description = "여행 관련 API") + @Tag(name = "[개발 전] Trip", description = "여행 관련 API") @Operation(summary = "여행 기간 입력", description = """ ### 여행 기간을 입력합니다. @@ -48,7 +49,7 @@ public ApiResponse inputPeriod( return null; } - @Tag(name = "Trip", description = "여행 관련 API") + @Tag(name = "[개발 전] Trip", description = "여행 관련 API") @Operation(summary = "여행 기간 조회", description = """ ### 여행 기간을 조회합니다. @@ -63,7 +64,7 @@ public ApiResponse getPeriod( } // 선호 활동 입력 - @Tag(name = "Trip", description = "여행 관련 API") + @Tag(name = "[개발 전] Trip", description = "여행 관련 API") @Operation(summary = "선호 활동 입력", description = """ ### 선호 활동을 입력합니다. @@ -81,7 +82,7 @@ public ApiResponse inputActivities( return null; } - @Tag(name = "Trip", description = "여행 관련 API") + @Tag(name = "[개발 전] Trip", description = "여행 관련 API") @Operation(summary = "선호 활동 조회", description = """ ### 선호 활동을 조회합니다. @@ -96,7 +97,7 @@ public ApiResponse getActivities( } // 추가적인 요구 사항 입력 - @Tag(name = "Trip", description = "여행 관련 API") + @Tag(name = "[개발 전] Trip", description = "여행 관련 API") @Operation(summary = "추가적인 요구 사항 입력", description = """ ### 추가적인 요구 사항을 입력합니다. @@ -114,7 +115,7 @@ public ApiResponse inputAdditional( return null; } - @Tag(name = "Trip", description = "여행 관련 API") + @Tag(name = "[개발 전] Trip", description = "여행 관련 API") @Operation(summary = "추가적인 요구 사항 조회", description = """ ### 추가적인 요구 사항을 조회합니다. @@ -128,7 +129,7 @@ public ApiResponse getAdditional( return null; } - @Tag(name = "Trip", description = "여행 관련 API") + @Tag(name = "[개발 전] Trip", description = "여행 관련 API") @Operation(summary = "일정 제공", description = """ ### 최종적으로 입력한 정보를 바탕으로 일정을 제공합니다. @@ -146,7 +147,7 @@ public ApiResponse finalInput( /* ------------------------------------------------------------------------------------------------------ */ // 선택지 확인 (여행지) - @Tag(name = "선택지 확인", description = "선택지 확인 API") + @Tag(name = "[개발 전] 선택지 확인", description = "선택지 확인 API") @Operation(summary = "선택지 (여행지) 확인", description = """ ### 선택지 확인 API @@ -161,7 +162,7 @@ public ApiResponse checkPlaces( } // 선택지 상세 보기 (여행지) - @Tag(name = "선택지 확인", description = "선택지 확인 API") + @Tag(name = "[개발 전] 선택지 확인", description = "선택지 확인 API") @Operation(summary = "선택지 (여행지) 상세 보기", description = """ ### 선택지 상세 보기 API @@ -178,7 +179,7 @@ public ApiResponse viewPlaceDetail( } // 여행지 키워드 검색 - @Tag(name = "선택지 확인", description = "선택지 확인 API") + @Tag(name = "[개발 전] 선택지 확인", description = "선택지 확인 API") @Operation(summary = "여행지 키워드 검색", description = """ ### 여행지 키워드 검색 API @@ -197,7 +198,7 @@ public ApiResponse searchPlace( } // 여행지 최종 선택 - @Tag(name = "선택지 확인", description = "선택지 확인 API") + @Tag(name = "[개발 전] 선택지 확인", description = "선택지 확인 API") @Operation(summary = "여행지 최종 선택", description = """ ### 여행지 최종 선택 API @@ -214,7 +215,7 @@ public ApiResponse finalPlace( } // 선택지 확인 (음식점) - @Tag(name = "선택지 확인", description = "선택지 확인 API") + @Tag(name = "[개발 전] 선택지 확인", description = "선택지 확인 API") @Operation(summary = "선택지 (음식점) 확인", description = """ ### 선택지 확인 API @@ -230,7 +231,7 @@ public ApiResponse checkRestaurants( // 선택지 상세 보기 (음식점) - @Tag(name = "선택지 확인", description = "선택지 확인 API") + @Tag(name = "[개발 전] 선택지 확인", description = "선택지 확인 API") @Operation(summary = "선택지 (음식점) 상세 보기", description = """ ### 선택지 상세 보기 API @@ -248,7 +249,7 @@ public ApiResponse viewRestaurantDetail( // 음식점 키워드 검색 - @Tag(name = "선택지 확인", description = "선택지 확인 API") + @Tag(name = "[개발 전] 선택지 확인", description = "선택지 확인 API") @Operation(summary = "음식점 키워드 검색", description = """ ### 음식점 키워드 검색 API @@ -268,7 +269,7 @@ public ApiResponse searchRestaurant( // 음식점 최종 선택 - @Tag(name = "선택지 확인", description = "선택지 확인 API") + @Tag(name = "[개발 전] 선택지 확인", description = "선택지 확인 API") @Operation(summary = "음식점 최종 선택", description = """ ### 음식점 최종 선택 API diff --git a/src/main/java/hyu/erica/capstone/web/controller/UserController.java b/src/main/java/hyu/erica/capstone/web/controller/UserController.java index d026761..b99b483 100644 --- a/src/main/java/hyu/erica/capstone/web/controller/UserController.java +++ b/src/main/java/hyu/erica/capstone/web/controller/UserController.java @@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -@Tag(name = "User", description = "사용자 관련 API") +@Tag(name = "사용자", description = "사용자 관련 API") @CrossOrigin @RestController @RequestMapping("/api/users")