diff --git a/tour/src/main/java/com/jocketdan/tour/controller/TourOpenApiController.java b/tour/src/main/java/com/jocketdan/tour/controller/TourOpenApiController.java index d4416e0..f04098e 100644 --- a/tour/src/main/java/com/jocketdan/tour/controller/TourOpenApiController.java +++ b/tour/src/main/java/com/jocketdan/tour/controller/TourOpenApiController.java @@ -1,10 +1,6 @@ package com.jocketdan.tour.controller; -import com.jocketdan.tour.dto.openApi.AreaBasedListResponseDTO; -import com.jocketdan.tour.dto.openApi.LocationBasedListResponseDTO; -import com.jocketdan.tour.dto.openApi.SearchFestivalResponseDTO; -import com.jocketdan.tour.dto.openApi.SearchKeywordResponseDTO; -import com.jocketdan.tour.service.BookmarkService; +import com.jocketdan.tour.dto.openApi.*; import com.jocketdan.tour.service.TourOpenApiService; import lombok.AccessLevel; import lombok.RequiredArgsConstructor; @@ -19,7 +15,6 @@ public class TourOpenApiController { TourOpenApiService tourOpenApiService; - BookmarkService tourService; @GetMapping("/api/tour/areaBasedList") public AreaBasedListResponseDTO getAreaBasedList( @@ -72,4 +67,9 @@ public LocationBasedListResponseDTO getLocationBasedList( ) { return tourOpenApiService.getLocationBasedList(numOfRows, pageNo, arrange, contentTypeId, lDongRegnCd, lDongSignguCd, mapX, mapY, radius); } + + @GetMapping("/api/tour/details") + public DetailsResponseDTO getDetails(String contentId) { + return tourOpenApiService.getDetails(contentId); + } } diff --git a/tour/src/main/java/com/jocketdan/tour/dto/openApi/DetailsResponseDTO.java b/tour/src/main/java/com/jocketdan/tour/dto/openApi/DetailsResponseDTO.java new file mode 100644 index 0000000..0ff59cd --- /dev/null +++ b/tour/src/main/java/com/jocketdan/tour/dto/openApi/DetailsResponseDTO.java @@ -0,0 +1,79 @@ +package com.jocketdan.tour.dto.openApi; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import lombok.AccessLevel; +import lombok.Getter; +import lombok.experimental.FieldDefaults; + +import java.util.List; + +@Getter +@FieldDefaults(level = AccessLevel.PRIVATE) +@JsonIgnoreProperties(ignoreUnknown = true) +public class DetailsResponseDTO { + + Response response; + + @Getter + @FieldDefaults(level = AccessLevel.PRIVATE) + public static class Response { + Header header; + Body body; + } + + @Getter + @FieldDefaults(level = AccessLevel.PRIVATE) + public static class Header { + String resultCode; + String resultMsg; + } + + @Getter + @FieldDefaults(level = AccessLevel.PRIVATE) + public static class Body { + Items items; + int numOfRows; + int pageNo; + int totalCount; + } + + @Getter + @FieldDefaults(level = AccessLevel.PRIVATE) + public static class Items { + List item; + } + + @Getter + @FieldDefaults(level = AccessLevel.PRIVATE) + @JsonIgnoreProperties(ignoreUnknown = true) + public static class Item { + String overview; + String contentid; + String sigungucode; + String cat1; + String cat2; + String cat3; + String addr1; + String addr2; + String zipcode; + String mapx; + String mapy; + String mlevel; + String cpyrhtDivCd; + String contenttypeid; + String createdtime; + String homepage; + String modifiedtime; + String tel; + String telname; + String title; + String firstimage; + String firstimage2; + String areacode; + String lDongRegnCd; + String lDongSignguCd; + String lclsSystm1; + String lclsSystm2; + String lclsSystm3; + } +} diff --git a/tour/src/main/java/com/jocketdan/tour/service/TourOpenApiService.java b/tour/src/main/java/com/jocketdan/tour/service/TourOpenApiService.java index 836e6aa..77a39b2 100644 --- a/tour/src/main/java/com/jocketdan/tour/service/TourOpenApiService.java +++ b/tour/src/main/java/com/jocketdan/tour/service/TourOpenApiService.java @@ -1,9 +1,6 @@ package com.jocketdan.tour.service; -import com.jocketdan.tour.dto.openApi.AreaBasedListResponseDTO; -import com.jocketdan.tour.dto.openApi.LocationBasedListResponseDTO; -import com.jocketdan.tour.dto.openApi.SearchFestivalResponseDTO; -import com.jocketdan.tour.dto.openApi.SearchKeywordResponseDTO; +import com.jocketdan.tour.dto.openApi.*; import lombok.AccessLevel; import lombok.RequiredArgsConstructor; import lombok.experimental.FieldDefaults; @@ -114,4 +111,12 @@ public LocationBasedListResponseDTO getLocationBasedList( LocationBasedListResponseDTO.class ); } + + public DetailsResponseDTO getDetails(String contentId) { + return publicDataApiClient.call( + "/detailCommon2", + Map.of("contentId", contentId), + DetailsResponseDTO.class + ); + } }