diff --git a/backend/src/main/java/com/festago/artist/application/ArtistDetailV1QueryService.java b/backend/src/main/java/com/festago/artist/application/ArtistDetailV1QueryService.java index 31c3364d1..63825d8d4 100644 --- a/backend/src/main/java/com/festago/artist/application/ArtistDetailV1QueryService.java +++ b/backend/src/main/java/com/festago/artist/application/ArtistDetailV1QueryService.java @@ -1,7 +1,7 @@ package com.festago.artist.application; import com.festago.artist.dto.ArtistDetailV1Response; -import com.festago.artist.dto.ArtistFestivalDetailV1Response; +import com.festago.artist.dto.ArtistFestivalV1Response; import com.festago.artist.repository.ArtistDetailV1QueryDslRepository; import com.festago.artist.repository.ArtistFestivalSearchCondition; import com.festago.common.exception.ErrorCode; @@ -27,9 +27,9 @@ public ArtistDetailV1Response findArtistDetail(Long artistId) { .orElseThrow(() -> new NotFoundException(ErrorCode.ARTIST_NOT_FOUND)); } - public Slice findArtistFestivals(Long artistId, Long lastFestivalId, - LocalDate lastStartDate, boolean isPast, - Pageable pageable) { + public Slice findArtistFestivals(Long artistId, Long lastFestivalId, + LocalDate lastStartDate, boolean isPast, + Pageable pageable) { return artistDetailV1QueryDslRepository.findArtistFestivals(new ArtistFestivalSearchCondition( artistId, isPast, diff --git a/backend/src/main/java/com/festago/artist/dto/ArtistFestivalDetailV1Response.java b/backend/src/main/java/com/festago/artist/dto/ArtistFestivalV1Response.java similarity index 87% rename from backend/src/main/java/com/festago/artist/dto/ArtistFestivalDetailV1Response.java rename to backend/src/main/java/com/festago/artist/dto/ArtistFestivalV1Response.java index 856d34ed3..de8517ccf 100644 --- a/backend/src/main/java/com/festago/artist/dto/ArtistFestivalDetailV1Response.java +++ b/backend/src/main/java/com/festago/artist/dto/ArtistFestivalV1Response.java @@ -7,7 +7,7 @@ import io.swagger.v3.oas.annotations.media.Schema; import java.time.LocalDate; -public record ArtistFestivalDetailV1Response( +public record ArtistFestivalV1Response( Long id, String name, LocalDate startDate, @@ -19,7 +19,7 @@ public record ArtistFestivalDetailV1Response( ) { @QueryProjection - public ArtistFestivalDetailV1Response { + public ArtistFestivalV1Response { } } diff --git a/backend/src/main/java/com/festago/artist/dto/ArtistMediaV1Response.java b/backend/src/main/java/com/festago/artist/dto/ArtistMediaV1Response.java index 6e79591ae..e5cbbb241 100644 --- a/backend/src/main/java/com/festago/artist/dto/ArtistMediaV1Response.java +++ b/backend/src/main/java/com/festago/artist/dto/ArtistMediaV1Response.java @@ -1,9 +1,10 @@ package com.festago.artist.dto; +import com.festago.socialmedia.domain.SocialMediaType; import com.querydsl.core.annotations.QueryProjection; public record ArtistMediaV1Response( - String type, + SocialMediaType type, String name, String logoUrl, String url diff --git a/backend/src/main/java/com/festago/artist/presentation/v1/ArtistSearchV1Controller.java b/backend/src/main/java/com/festago/artist/presentation/v1/ArtistSearchV1Controller.java index c2852aad1..edbff5779 100644 --- a/backend/src/main/java/com/festago/artist/presentation/v1/ArtistSearchV1Controller.java +++ b/backend/src/main/java/com/festago/artist/presentation/v1/ArtistSearchV1Controller.java @@ -15,14 +15,14 @@ @RestController @RequestMapping("/api/v1/search/artists") -@Tag(name = "아티스트 검색 V1") +@Tag(name = "아티스트 검색 요청 V1") @RequiredArgsConstructor public class ArtistSearchV1Controller { private final ArtistTotalSearchV1Service artistTotalSearchV1Service; @GetMapping - @Operation(description = "키워드로 아티스트 목록을 검색한다", summary = "아티스트 목록 검색 조회") + @Operation(description = "키워드로 아티스트 목록을 검색한다.", summary = "아티스트 검색") public ResponseEntity> searchByKeyword(@RequestParam String keyword) { Validator.notBlank(keyword, "keyword"); List response = artistTotalSearchV1Service.findAllByKeyword(keyword); diff --git a/backend/src/main/java/com/festago/artist/presentation/v1/ArtistDetailV1Controller.java b/backend/src/main/java/com/festago/artist/presentation/v1/ArtistV1Controller.java similarity index 70% rename from backend/src/main/java/com/festago/artist/presentation/v1/ArtistDetailV1Controller.java rename to backend/src/main/java/com/festago/artist/presentation/v1/ArtistV1Controller.java index 76bcb801d..9fe1630d3 100644 --- a/backend/src/main/java/com/festago/artist/presentation/v1/ArtistDetailV1Controller.java +++ b/backend/src/main/java/com/festago/artist/presentation/v1/ArtistV1Controller.java @@ -2,17 +2,17 @@ import com.festago.artist.application.ArtistDetailV1QueryService; import com.festago.artist.dto.ArtistDetailV1Response; -import com.festago.artist.dto.ArtistFestivalDetailV1Response; +import com.festago.artist.dto.ArtistFestivalV1Response; import com.festago.common.aop.ValidPageable; import com.festago.common.dto.SliceResponse; import com.festago.common.exception.ValidException; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import java.time.LocalDate; import lombok.RequiredArgsConstructor; -import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Slice; -import org.springframework.data.web.PageableDefault; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -24,29 +24,29 @@ @RequestMapping("/api/v1/artists") @Tag(name = "아티스트 정보 요청 V1") @RequiredArgsConstructor -public class ArtistDetailV1Controller { +public class ArtistV1Controller { private final ArtistDetailV1QueryService artistDetailV1QueryService; @GetMapping("/{artistId}") - @Operation(description = "아티스트의 정보를 조회한다.") - public ResponseEntity getArtistInfo(@PathVariable Long artistId) { + @Operation(description = "아티스트의 정보를 조회한다.", summary = "아티스트 정보 조회") + public ResponseEntity findArtistDetail(@PathVariable Long artistId) { return ResponseEntity.ok(artistDetailV1QueryService.findArtistDetail(artistId)); } @GetMapping("/{artistId}/festivals") - @Operation(description = "아티스트가 참석한 축제를 조회한다. isPast 값으로 종료 축제 와 진행, 예정 축제를 구분 가능하다", summary = "아티스트 축제 조회") + @Operation(description = "아티스트가 참여한 축제 목록을 조회한다. isPast 값으로 종료 축제와 진행, 예정 축제를 구분 가능하다.", summary = "아티스트 참여 축제 목록 조회") @ValidPageable(maxSize = 20) - public ResponseEntity> getArtistInfo( + public ResponseEntity> findArtistFestivals( @PathVariable Long artistId, @RequestParam(required = false) Long lastFestivalId, @RequestParam(required = false) LocalDate lastStartDate, @RequestParam(required = false, defaultValue = "false") boolean isPast, - @PageableDefault(size = 10) Pageable pageable + @Parameter(description = "0 < size <= 20") @RequestParam(defaultValue = "10") int size ) { validate(lastFestivalId, lastStartDate); - Slice response = artistDetailV1QueryService.findArtistFestivals(artistId, - lastFestivalId, lastStartDate, isPast, pageable); + Slice response = artistDetailV1QueryService.findArtistFestivals(artistId, + lastFestivalId, lastStartDate, isPast, PageRequest.ofSize(size)); return ResponseEntity.ok(SliceResponse.from(response)); } diff --git a/backend/src/main/java/com/festago/artist/repository/ArtistDetailV1QueryDslRepository.java b/backend/src/main/java/com/festago/artist/repository/ArtistDetailV1QueryDslRepository.java index f82037088..87235df24 100644 --- a/backend/src/main/java/com/festago/artist/repository/ArtistDetailV1QueryDslRepository.java +++ b/backend/src/main/java/com/festago/artist/repository/ArtistDetailV1QueryDslRepository.java @@ -11,9 +11,9 @@ import com.festago.artist.domain.Artist; import com.festago.artist.dto.ArtistDetailV1Response; -import com.festago.artist.dto.ArtistFestivalDetailV1Response; +import com.festago.artist.dto.ArtistFestivalV1Response; import com.festago.artist.dto.QArtistDetailV1Response; -import com.festago.artist.dto.QArtistFestivalDetailV1Response; +import com.festago.artist.dto.QArtistFestivalV1Response; import com.festago.artist.dto.QArtistMediaV1Response; import com.festago.common.querydsl.QueryDslRepositorySupport; import com.festago.socialmedia.domain.OwnerType; @@ -46,7 +46,7 @@ public Optional findArtistDetail(Long artistId) { artist.backgroundImageUrl, list( new QArtistMediaV1Response( - socialMedia.mediaType.stringValue(), + socialMedia.mediaType, socialMedia.name, socialMedia.logoUrl, socialMedia.url @@ -63,12 +63,12 @@ public Optional findArtistDetail(Long artistId) { return Optional.of(response.get(0)); } - public Slice findArtistFestivals(ArtistFestivalSearchCondition condition) { + public Slice findArtistFestivals(ArtistFestivalSearchCondition condition) { Pageable pageable = condition.pageable(); Long artistId = condition.artistId(); return applySlice( pageable, - query -> query.select(new QArtistFestivalDetailV1Response( + query -> query.select(new QArtistFestivalV1Response( festival.id, festival.name, festival.festivalDuration.startDate, diff --git a/backend/src/main/java/com/festago/auth/presentation/v1/MemberAuthV1Controller.java b/backend/src/main/java/com/festago/auth/presentation/v1/MemberAuthV1Controller.java index 2b82240e6..c5df4c655 100644 --- a/backend/src/main/java/com/festago/auth/presentation/v1/MemberAuthV1Controller.java +++ b/backend/src/main/java/com/festago/auth/presentation/v1/MemberAuthV1Controller.java @@ -29,7 +29,7 @@ @RestController @RequiredArgsConstructor @RequestMapping("/api/v1/auth") -@Tag(name = "회원 인증 V1") +@Tag(name = "회원 인증 요청 V1") public class MemberAuthV1Controller { private final MemberAuthFacadeService memberAuthFacadeService; diff --git a/backend/src/main/java/com/festago/bookmark/presentation/v1/ArtistBookmarkV1Controller.java b/backend/src/main/java/com/festago/bookmark/presentation/v1/ArtistBookmarkV1Controller.java index 96290355f..d1b7f1216 100644 --- a/backend/src/main/java/com/festago/bookmark/presentation/v1/ArtistBookmarkV1Controller.java +++ b/backend/src/main/java/com/festago/bookmark/presentation/v1/ArtistBookmarkV1Controller.java @@ -16,14 +16,14 @@ @RestController @RequiredArgsConstructor @RequestMapping("/api/v1/bookmarks/artists") -@Tag(name = "아티스트 북마크 V1") +@Tag(name = "아티스트 북마크 요청 V1") public class ArtistBookmarkV1Controller { private final ArtistBookmarkV1QueryService artistBookmarkV1QueryService; @MemberAuth @GetMapping - @Operation(description = "유저의 아티스트 북마크 목록을 조회한다.", summary = "아티스트 북마크 조회") + @Operation(description = "회원의 아티스트 북마크 목록을 조회한다.", summary = "아티스트 북마크 조회") public ResponseEntity> findArtistBookmarksByMemberId( @Member Long memberId ) { diff --git a/backend/src/main/java/com/festago/bookmark/presentation/v1/BookmarkManagementV1Controller.java b/backend/src/main/java/com/festago/bookmark/presentation/v1/BookmarkManagementV1Controller.java index 6eed9991f..3fde1bb5c 100644 --- a/backend/src/main/java/com/festago/bookmark/presentation/v1/BookmarkManagementV1Controller.java +++ b/backend/src/main/java/com/festago/bookmark/presentation/v1/BookmarkManagementV1Controller.java @@ -17,7 +17,7 @@ @RestController @RequiredArgsConstructor @RequestMapping("/api/v1/bookmarks") -@Tag(name = "북마크 등록/삭제 V1") +@Tag(name = "북마크 등록/삭제 요청 V1") public class BookmarkManagementV1Controller { private final BookmarkFacadeService bookmarkFacadeService; diff --git a/backend/src/main/java/com/festago/bookmark/presentation/v1/FestivalBookmarkV1Controller.java b/backend/src/main/java/com/festago/bookmark/presentation/v1/FestivalBookmarkV1Controller.java index 57c9d2a3a..e4f0b2ba5 100644 --- a/backend/src/main/java/com/festago/bookmark/presentation/v1/FestivalBookmarkV1Controller.java +++ b/backend/src/main/java/com/festago/bookmark/presentation/v1/FestivalBookmarkV1Controller.java @@ -18,14 +18,14 @@ @RestController @RequiredArgsConstructor @RequestMapping("/api/v1/bookmarks/festivals") -@Tag(name = "축제 북마크 V1") +@Tag(name = "축제 북마크 요청 V1") public class FestivalBookmarkV1Controller { private final FestivalBookmarkV1QueryService festivalBookmarkV1QueryService; @MemberAuth @GetMapping("/ids") - @Operation(description = "북마크 된 축제의 식별자 목록을 조회한다.", summary = "북마크 된 축제 식별자 목록 조회") + @Operation(description = "회원의 북마크 된 축제 식별자 목록을 조회한다.", summary = "북마크 된 축제 식별자 목록 조회") public ResponseEntity> findBookmarkedFestivalIds( @Member Long memberId ) { @@ -35,7 +35,7 @@ public ResponseEntity> findBookmarkedFestivalIds( @MemberAuth @GetMapping - @Operation(description = "축제의 식별자 목록으로 북마크 된 축제의 목록을 조회한다.", summary = "축제의 식별자 목록으로 북마크 된 축제의 목록 조회") + @Operation(description = "축제 식별자 목록으로 회원의 북마크 된 축제의 목록을 조회한다.", summary = "축제 식별자 목록으로 북마크 된 축제의 목록 조회") public ResponseEntity> findBookmarkedFestivals( @Member Long memberId, @RequestParam List festivalIds, diff --git a/backend/src/main/java/com/festago/bookmark/presentation/v1/SchoolBookmarkV1Controller.java b/backend/src/main/java/com/festago/bookmark/presentation/v1/SchoolBookmarkV1Controller.java index 6f4773cc2..536d2d41e 100644 --- a/backend/src/main/java/com/festago/bookmark/presentation/v1/SchoolBookmarkV1Controller.java +++ b/backend/src/main/java/com/festago/bookmark/presentation/v1/SchoolBookmarkV1Controller.java @@ -16,14 +16,14 @@ @RestController @RequiredArgsConstructor @RequestMapping("/api/v1/bookmarks/schools") -@Tag(name = "학교 북마크 V1") +@Tag(name = "학교 북마크 요청 V1") public class SchoolBookmarkV1Controller { private final SchoolBookmarkV1QueryService schoolBookmarkV1QueryService; @MemberAuth @GetMapping - @Operation(description = "특정한 회원의 학교 북마크 목록을 반환한다", summary = "회원 학교 북마크 목록 조회") + @Operation(description = "회원의 학교 북마크 목록을 조회한다", summary = "학교 북마크 조회") public ResponseEntity> findAllByMemberId(@Member Long memberId) { return ResponseEntity.ok(schoolBookmarkV1QueryService.findAllByMemberId(memberId)); } diff --git a/backend/src/main/java/com/festago/common/presentation/PingController.java b/backend/src/main/java/com/festago/common/presentation/PingController.java index 2101d3cc1..127bff958 100644 --- a/backend/src/main/java/com/festago/common/presentation/PingController.java +++ b/backend/src/main/java/com/festago/common/presentation/PingController.java @@ -1,9 +1,11 @@ package com.festago.common.presentation; +import io.swagger.v3.oas.annotations.Hidden; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +@Hidden @RestController @RequestMapping("/ping") public class PingController { diff --git a/backend/src/main/java/com/festago/entry/presentation/MemberEntranceController.java b/backend/src/main/java/com/festago/entry/presentation/MemberEntranceController.java index 641e1c82a..1fb3e7bd1 100644 --- a/backend/src/main/java/com/festago/entry/presentation/MemberEntranceController.java +++ b/backend/src/main/java/com/festago/entry/presentation/MemberEntranceController.java @@ -3,6 +3,7 @@ import com.festago.auth.annotation.Member; import com.festago.entry.application.EntryService; import com.festago.entry.dto.EntryCodeResponse; +import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; @@ -10,6 +11,8 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RestController; +@Deprecated(forRemoval = true) +@Hidden @RestController @RequiredArgsConstructor public class MemberEntranceController { diff --git a/backend/src/main/java/com/festago/entry/presentation/StaffMemberTicketController.java b/backend/src/main/java/com/festago/entry/presentation/StaffMemberTicketController.java index 445f17003..362412936 100644 --- a/backend/src/main/java/com/festago/entry/presentation/StaffMemberTicketController.java +++ b/backend/src/main/java/com/festago/entry/presentation/StaffMemberTicketController.java @@ -4,6 +4,7 @@ import com.festago.entry.application.EntryService; import com.festago.entry.dto.TicketValidationRequest; import com.festago.entry.dto.TicketValidationResponse; +import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; @@ -14,6 +15,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +@Deprecated(forRemoval = true) +@Hidden @RestController @RequestMapping("/staff/member-tickets") @Tag(name = "스태프 요청") diff --git a/backend/src/main/java/com/festago/fcm/presentation/MemberFCMController.java b/backend/src/main/java/com/festago/fcm/presentation/MemberFCMController.java index 8d31bf600..dd10f5107 100644 --- a/backend/src/main/java/com/festago/fcm/presentation/MemberFCMController.java +++ b/backend/src/main/java/com/festago/fcm/presentation/MemberFCMController.java @@ -3,6 +3,7 @@ import com.festago.auth.annotation.Member; import com.festago.fcm.application.MemberFCMService; import com.festago.fcm.dto.MemberFcmCreateRequest; +import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; @@ -13,6 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +@Deprecated(forRemoval = true) +@Hidden @RestController @RequiredArgsConstructor @Tag(name = "유저 FCM 정보 요청") diff --git a/backend/src/main/java/com/festago/festival/presentation/v1/FestivalSearchV1Controller.java b/backend/src/main/java/com/festago/festival/presentation/v1/FestivalSearchV1Controller.java index 42bdad8e6..b3947eb77 100644 --- a/backend/src/main/java/com/festago/festival/presentation/v1/FestivalSearchV1Controller.java +++ b/backend/src/main/java/com/festago/festival/presentation/v1/FestivalSearchV1Controller.java @@ -22,8 +22,8 @@ public class FestivalSearchV1Controller { private final FestivalSearchV1QueryService festivalSearchV1QueryService; @GetMapping - @Operation(description = "축제를 검색한다. ~대 혹은 ~대학교로 끝날 시 대학교 축제 검색이며 그 외의 경우는 아티스트 기반 축제 검색입니다.", summary = "축제 검색") - public ResponseEntity> getArtistInfo(@RequestParam String keyword) { + @Operation(description = "키워드로 축제를 검색한다. ~대, ~대학교로 끝날 시 대학교 축제 검색, 그 외의 경우 아티스트가 참여한 축제 검색.", summary = "축제 검색") + public ResponseEntity> searchFestivals(@RequestParam String keyword) { validate(keyword); return ResponseEntity.ok(festivalSearchV1QueryService.search(keyword)); } diff --git a/backend/src/main/java/com/festago/festival/presentation/v1/FestivalV1Controller.java b/backend/src/main/java/com/festago/festival/presentation/v1/FestivalV1Controller.java index 6f6a8bde2..da3386a2f 100644 --- a/backend/src/main/java/com/festago/festival/presentation/v1/FestivalV1Controller.java +++ b/backend/src/main/java/com/festago/festival/presentation/v1/FestivalV1Controller.java @@ -10,12 +10,12 @@ import com.festago.festival.repository.FestivalFilter; import com.festago.school.domain.SchoolRegion; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import java.time.LocalDate; import lombok.RequiredArgsConstructor; -import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Slice; -import org.springframework.data.web.PageableDefault; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -34,17 +34,17 @@ public class FestivalV1Controller { @GetMapping @ValidPageable(maxSize = 20) - @Operation(description = "축제 목록를 조건별로 조회한다. PROGRESS: 진행 중, PLANNED: 진행 예정, END: 종료, 기본값 -> 진행 중, limit의 크기는 0 < limit < 21 이며 기본 값 10이다.", summary = "축제 목록 조회") + @Operation(description = "축제 목록를 조건별로 조회한다.", summary = "축제 목록 조회") public ResponseEntity> findFestivals( - @PageableDefault(size = 10) Pageable pageable, + @Parameter(description = "0 < size <= 20") @RequestParam(defaultValue = "10") int size, @RequestParam(defaultValue = "ANY") SchoolRegion region, - @RequestParam(defaultValue = "PROGRESS") FestivalFilter filter, + @Parameter(description = "PROGRESS: 진행 중, PLANNED: 진행 예정, END: 종료") @RequestParam(defaultValue = "PROGRESS") FestivalFilter filter, @RequestParam(required = false) Long lastFestivalId, @RequestParam(required = false) LocalDate lastStartDate ) { validateCursor(lastFestivalId, lastStartDate); var request = new FestivalV1QueryRequest(region, filter, lastFestivalId, lastStartDate); - var response = festivalV1QueryService.findFestivals(pageable, request); + var response = festivalV1QueryService.findFestivals(PageRequest.ofSize(size), request); return ResponseEntity.ok(response); } @@ -59,7 +59,7 @@ private void validateCursor(Long lastFestivalId, LocalDate lastStartDate) { } @GetMapping("/{festivalId}") - @Operation(description = "특정 축제의 상세 정보를 조회한다.", summary = "특정 축제 상세 조회") + @Operation(description = "축제의 정보를 조회한다.", summary = "축제 정보 조회") public ResponseEntity findFestivalDetail( @PathVariable Long festivalId ) { diff --git a/backend/src/main/java/com/festago/festival/presentation/v1/PopularFestivalV1Controller.java b/backend/src/main/java/com/festago/festival/presentation/v1/PopularFestivalV1Controller.java index 2cfd46e9e..81c8e935e 100644 --- a/backend/src/main/java/com/festago/festival/presentation/v1/PopularFestivalV1Controller.java +++ b/backend/src/main/java/com/festago/festival/presentation/v1/PopularFestivalV1Controller.java @@ -12,15 +12,15 @@ @RestController @RequestMapping("/api/v1/popular/festivals") -@Tag(name = "인기 축제 정보 요청 V1") +@Tag(name = "인기 축제 목록 요청 V1") @RequiredArgsConstructor public class PopularFestivalV1Controller { private final PopularFestivalV1QueryService popularFestivalV1QueryService; @GetMapping - @Operation(description = "인기 축제 목록을 7개 반환한다.", summary = "인기 축제 목록 조회") - public ResponseEntity popularFestivals() { + @Operation(description = "인기 축제 목록 7개를 반환한다.", summary = "인기 축제 목록 조회") + public ResponseEntity findPopularFestivals() { return ResponseEntity.ok(popularFestivalV1QueryService.findPopularFestivals()); } } diff --git a/backend/src/main/java/com/festago/member/presentation/MemberController.java b/backend/src/main/java/com/festago/member/presentation/MemberController.java index 79c0db871..9bcd87d02 100644 --- a/backend/src/main/java/com/festago/member/presentation/MemberController.java +++ b/backend/src/main/java/com/festago/member/presentation/MemberController.java @@ -3,6 +3,7 @@ import com.festago.auth.annotation.Member; import com.festago.member.application.MemberService; import com.festago.member.dto.MemberProfileResponse; +import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; @@ -12,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +@Deprecated(forRemoval = true) +@Hidden @RestController @RequestMapping("/members") @Tag(name = "유저 정보 요청") diff --git a/backend/src/main/java/com/festago/school/presentation/v1/SchoolSearchV1Controller.java b/backend/src/main/java/com/festago/school/presentation/v1/SchoolSearchV1Controller.java index f3d5bfe50..5d645bf6f 100644 --- a/backend/src/main/java/com/festago/school/presentation/v1/SchoolSearchV1Controller.java +++ b/backend/src/main/java/com/festago/school/presentation/v1/SchoolSearchV1Controller.java @@ -22,7 +22,7 @@ public class SchoolSearchV1Controller { private final SchoolTotalSearchV1QueryService schoolTotalSearchV1QueryService; @GetMapping - @Operation(description = "곧 시작하는 축제일을 포함된 학교를 검색한다.", summary = "학교 검색") + @Operation(description = "키워드로 학교를 검색한다.", summary = "학교 검색") public ResponseEntity> searchSchools( @RequestParam String keyword ) { diff --git a/backend/src/main/java/com/festago/school/presentation/v1/SchoolV1Controller.java b/backend/src/main/java/com/festago/school/presentation/v1/SchoolV1Controller.java index 33992d0e6..c6cddfeb8 100644 --- a/backend/src/main/java/com/festago/school/presentation/v1/SchoolV1Controller.java +++ b/backend/src/main/java/com/festago/school/presentation/v1/SchoolV1Controller.java @@ -7,12 +7,12 @@ import com.festago.school.dto.v1.SchoolFestivalV1Response; import com.festago.school.repository.v1.SchoolFestivalV1SearchCondition; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import java.time.LocalDate; import lombok.RequiredArgsConstructor; -import org.springframework.data.domain.Pageable; +import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Slice; -import org.springframework.data.web.PageableDefault; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; @@ -29,24 +29,25 @@ public class SchoolV1Controller { private final SchoolV1QueryService schoolV1QueryService; @GetMapping("/{schoolId}") - @Operation(description = "학교와 해당하는 소셜미디어 정보를 함께 조회한다.", summary = "학교 상세 조회") - public ResponseEntity findDetailId(@PathVariable Long schoolId) { + @Operation(description = "학교의 정보를 조회한다.", summary = "학교 정보 조회") + public ResponseEntity findDetailById(@PathVariable Long schoolId) { SchoolDetailV1Response response = schoolV1QueryService.findDetailById(schoolId); return ResponseEntity.ok(response); } @GetMapping("/{schoolId}/festivals") @ValidPageable(maxSize = 20) - @Operation(description = "해당 학교의 축제들을 페이징하여 조회한다.", summary = "학교 상세 조회") + @Operation(description = "학교의 축제 목록을 조회한다.", summary = "학교 축제 목록 조회") public ResponseEntity> findFestivalsBySchoolId( @PathVariable Long schoolId, @RequestParam(required = false) Long lastFestivalId, @RequestParam(required = false) LocalDate lastStartDate, @RequestParam(defaultValue = "false") Boolean isPast, - @PageableDefault(size = 10) Pageable pageable + @Parameter(description = "0 < size <= 20") @RequestParam(defaultValue = "10") int size ) { LocalDate today = LocalDate.now(); - var searchCondition = new SchoolFestivalV1SearchCondition(lastFestivalId, lastStartDate, isPast, pageable); + var searchCondition = new SchoolFestivalV1SearchCondition(lastFestivalId, lastStartDate, isPast, + PageRequest.ofSize(size)); Slice response = schoolV1QueryService.findFestivalsBySchoolId( schoolId, today, diff --git a/backend/src/main/java/com/festago/student/presentation/StudentController.java b/backend/src/main/java/com/festago/student/presentation/StudentController.java index a8ea2b0ac..7c8d620a5 100644 --- a/backend/src/main/java/com/festago/student/presentation/StudentController.java +++ b/backend/src/main/java/com/festago/student/presentation/StudentController.java @@ -5,6 +5,7 @@ import com.festago.student.dto.StudentResponse; import com.festago.student.dto.StudentSendMailRequest; import com.festago.student.dto.StudentVerificateRequest; +import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jakarta.validation.Valid; @@ -16,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +@Deprecated(forRemoval = true) +@Hidden @RestController @RequestMapping("/students") @Tag(name = "학생 요청") diff --git a/backend/src/main/java/com/festago/ticketing/presentation/MemberTicketController.java b/backend/src/main/java/com/festago/ticketing/presentation/MemberTicketController.java index 71c07a830..8aa55849a 100644 --- a/backend/src/main/java/com/festago/ticketing/presentation/MemberTicketController.java +++ b/backend/src/main/java/com/festago/ticketing/presentation/MemberTicketController.java @@ -7,6 +7,7 @@ import com.festago.ticketing.dto.MemberTicketsResponse; import com.festago.ticketing.dto.TicketingRequest; import com.festago.ticketing.dto.TicketingResponse; +import io.swagger.v3.oas.annotations.Hidden; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.tags.Tag; @@ -24,6 +25,8 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; +@Deprecated(forRemoval = true) +@Hidden @RestController @SecurityRequirement(name = "bearerAuth") @RequestMapping("/member-tickets") diff --git a/backend/src/test/java/com/festago/artist/application/integration/ArtistDetailV1QueryServiceIntegrationTest.java b/backend/src/test/java/com/festago/artist/application/integration/ArtistDetailV1QueryServiceIntegrationTest.java index 5e8d73607..faffc8613 100644 --- a/backend/src/test/java/com/festago/artist/application/integration/ArtistDetailV1QueryServiceIntegrationTest.java +++ b/backend/src/test/java/com/festago/artist/application/integration/ArtistDetailV1QueryServiceIntegrationTest.java @@ -7,7 +7,7 @@ import com.festago.artist.application.ArtistDetailV1QueryService; import com.festago.artist.domain.Artist; -import com.festago.artist.dto.ArtistFestivalDetailV1Response; +import com.festago.artist.dto.ArtistFestivalV1Response; import com.festago.artist.dto.ArtistMediaV1Response; import com.festago.artist.repository.ArtistRepository; import com.festago.common.exception.ErrorCode; @@ -118,7 +118,7 @@ class 아티스트_상세_정보_조회 { // then assertThat(actual.socialMedias()) .map(ArtistMediaV1Response::type) - .containsExactly(SocialMediaType.INSTAGRAM.name()); + .containsExactly(SocialMediaType.INSTAGRAM); } @Test @@ -212,7 +212,7 @@ private void createStage(Festival festival, LocalDateTime startTime, Artist... a // then assertThat(actual.getContent()) - .map(ArtistFestivalDetailV1Response::id) + .map(ArtistFestivalV1Response::id) .containsExactly(부산대학교_축제.getId(), 대구대학교_축제.getId()); } @@ -229,7 +229,7 @@ private void createStage(Festival festival, LocalDateTime startTime, Artist... a // then assertThat(actual.getContent()) - .map(ArtistFestivalDetailV1Response::id) + .map(ArtistFestivalV1Response::id) .containsExactly(서울대학교_축제.getId()); } @@ -257,7 +257,7 @@ private void createStage(Festival festival, LocalDateTime startTime, Artist... a // then assertThat(secondResponse.getContent()) - .map(ArtistFestivalDetailV1Response::id) + .map(ArtistFestivalV1Response::id) .containsExactly(대구대학교_축제.getId()); } } diff --git a/backend/src/test/java/com/festago/artist/presentation/v1/ArtistDetailV1ControllerTest.java b/backend/src/test/java/com/festago/artist/presentation/v1/ArtistV1ControllerTest.java similarity index 94% rename from backend/src/test/java/com/festago/artist/presentation/v1/ArtistDetailV1ControllerTest.java rename to backend/src/test/java/com/festago/artist/presentation/v1/ArtistV1ControllerTest.java index 97bf867a6..c37652e2c 100644 --- a/backend/src/test/java/com/festago/artist/presentation/v1/ArtistDetailV1ControllerTest.java +++ b/backend/src/test/java/com/festago/artist/presentation/v1/ArtistV1ControllerTest.java @@ -8,7 +8,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.festago.artist.application.ArtistDetailV1QueryService; import com.festago.artist.dto.ArtistDetailV1Response; -import com.festago.artist.dto.ArtistFestivalDetailV1Response; +import com.festago.artist.dto.ArtistFestivalV1Response; import com.festago.artist.dto.ArtistMediaV1Response; import com.festago.socialmedia.domain.SocialMediaType; import com.festago.support.CustomWebMvcTest; @@ -28,7 +28,7 @@ @CustomWebMvcTest @DisplayNameGeneration(ReplaceUnderscores.class) @SuppressWarnings("NonAsciiCharacters") -class ArtistDetailV1ControllerTest { +class ArtistV1ControllerTest { @Autowired MockMvc mockMvc; @@ -56,9 +56,9 @@ class 올바른_주소로 { "https://image.com/logo.png", "https://image.com/backgroundLogo.png", List.of( - new ArtistMediaV1Response(SocialMediaType.YOUTUBE.name(), "유튜브", + new ArtistMediaV1Response(SocialMediaType.YOUTUBE, "유튜브", "https://image.com/youtube.png", "www.knu-youtube.com"), - new ArtistMediaV1Response(SocialMediaType.INSTAGRAM.name(), "인스타그램", + new ArtistMediaV1Response(SocialMediaType.INSTAGRAM, "인스타그램", "https://image.com/youtube.png", "www.knu-instagram.com") ) ); @@ -88,7 +88,7 @@ class 올바른_주소로 { void 요청을_보내면_200_응답과_body가_반환된다() throws Exception { // given var today = LocalDate.now(); - var content = List.of(new ArtistFestivalDetailV1Response( + var content = List.of(new ArtistFestivalV1Response( 1L, "경북대학교", today, today.plusDays(1), "www.image.com/image.png", "아티스트" ));