From 5c493168b872a73e070e72fee45b88cc5a3618a0 Mon Sep 17 00:00:00 2001 From: eunbin00 Date: Fri, 4 Aug 2023 13:55:43 +0900 Subject: [PATCH] #2 - Feat: Add TourApiResponseHeader --- .../data/TourApiResponseHeader.java | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/main/java/org/routemaster/api/total/domain/attraction/data/TourApiResponseHeader.java diff --git a/src/main/java/org/routemaster/api/total/domain/attraction/data/TourApiResponseHeader.java b/src/main/java/org/routemaster/api/total/domain/attraction/data/TourApiResponseHeader.java new file mode 100644 index 0000000..5512024 --- /dev/null +++ b/src/main/java/org/routemaster/api/total/domain/attraction/data/TourApiResponseHeader.java @@ -0,0 +1,47 @@ +package org.routemaster.api.total.domain.attraction.data; + +import com.fasterxml.jackson.databind.JsonNode; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@NoArgsConstructor(access = AccessLevel.PUBLIC) +@AllArgsConstructor(access = AccessLevel.PROTECTED) +@Builder +@Getter +@Setter +@ToString +public class TourApiResponseHeader { + + @Schema( + description = "API 호출 결과의 상태 코드", + example = "0000" + ) private String resultCode; + @Schema( + description = "API 호출 결과의 상태 메시지", + example = "OK" + ) private String resultMessage; + @Schema( + description = "한 페이지 당 결과 수", + example = "10" + ) private Integer numOfRows; + @Schema( + description = "페이지 번호", + example = "1" + ) private Integer pageNo; + @Schema( + description = "전체 결과 수", + example = "100" + ) private Integer totalCount; + + public static final class TourApiResponseHeaderBuilder { + public TourApiResponseHeaderBuilder buildFromJsonNode(JsonNode jsonNode) { + this.resultCode = jsonNode.get("response").get("header").get("resultCode").asText(); + this.resultMessage = jsonNode.get("response").get("header").get("resultMsg").asText(); + this.numOfRows = jsonNode.get("response").get("body").get("numOfRows").asInt(); + this.pageNo = jsonNode.get("response").get("body").get("pageNo").asInt(); + this.totalCount = jsonNode.get("response").get("body").get("totalCount").asInt(); + return this; + } + } + +} \ No newline at end of file