diff --git a/src/main/java/com/snp/batch/common/web/service/BaseBypassService.java b/src/main/java/com/snp/batch/common/web/service/BaseBypassService.java index 40fab88..fac1099 100644 --- a/src/main/java/com/snp/batch/common/web/service/BaseBypassService.java +++ b/src/main/java/com/snp/batch/common/web/service/BaseBypassService.java @@ -1,5 +1,6 @@ package com.snp.batch.common.web.service; +import com.fasterxml.jackson.databind.JsonNode; import lombok.extern.slf4j.Slf4j; import org.springframework.core.ParameterizedTypeReference; import org.springframework.web.reactive.function.BodyInserters; @@ -91,6 +92,35 @@ public abstract class BaseBypassService { return response; } + /** + * RAW GET 요청 → JsonNode 반환 (응답 구조 그대로 패스스루) + */ + protected JsonNode fetchRawGet(Function uriFunction) { + log.info("{} API GET 호출 (RAW)", displayName); + JsonNode response = webClient.get() + .uri(uriFunction) + .retrieve() + .bodyToMono(JsonNode.class) + .block(); + log.info("{} API 응답 완료 (RAW)", displayName); + return response; + } + + /** + * RAW POST 요청 → JsonNode 반환 (응답 구조 그대로 패스스루) + */ + protected JsonNode fetchRawPost(Object body, Function uriFunction) { + log.info("{} API POST 호출 (RAW)", displayName); + JsonNode response = webClient.post() + .uri(uriFunction) + .body(BodyInserters.fromValue(body)) + .retrieve() + .bodyToMono(JsonNode.class) + .block(); + log.info("{} API 응답 완료 (RAW)", displayName); + return response; + } + protected String getApiPath() { return apiPath; }