From 5d1fd58a65962c3867612efef6744143f24826c0 Mon Sep 17 00:00:00 2001 From: Rinjae Date: Tue, 20 Jan 2026 15:33:02 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B1=B0=EB=9E=98=20=EB=A1=9C=EA=B7=B8=20?= =?UTF-8?q?=EC=A1=B0=ED=9A=8C=20json=20=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- http/obp.http | 11 ++++++---- .../kjb/web/ApiTransactionLogController.java | 21 ++++++++++++------- 2 files changed, 21 insertions(+), 11 deletions(-) diff --git a/http/obp.http b/http/obp.http index 5296c29..0b3e6fe 100644 --- a/http/obp.http +++ b/http/obp.http @@ -18,9 +18,12 @@ GET {{emsUrl}}/api/apis/000002-02/KJB ### 트랜잭션 로그 조회 -GET {{emsUrl}}/api/transaction/log +POST {{emsUrl}}/api/transaction/log +Content-Type: application/json; application/json; charset=UTF-8 + +{ + "apiServiceNumber": "asdasd", + "txDate": "asdasdasd" +} - -### -GET {{emsUrl}}/transaction/log \ No newline at end of file diff --git a/src/main/java/com/eactive/ext/kjb/web/ApiTransactionLogController.java b/src/main/java/com/eactive/ext/kjb/web/ApiTransactionLogController.java index 3064d22..431ac88 100644 --- a/src/main/java/com/eactive/ext/kjb/web/ApiTransactionLogController.java +++ b/src/main/java/com/eactive/ext/kjb/web/ApiTransactionLogController.java @@ -8,13 +8,15 @@ import com.eactive.eai.rms.data.entity.onl.logger.EAILogService; import com.eactive.eai.rms.onl.apim.common.BaseRestController; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; +import lombok.Data; import lombok.RequiredArgsConstructor; +import lombok.extern.java.Log; import lombok.extern.slf4j.Slf4j; import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Controller; import org.springframework.util.StringUtils; -import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import java.time.LocalDate; import java.time.format.DateTimeFormatter; @@ -33,16 +35,16 @@ public class ApiTransactionLogController extends BaseRestController { // 이중 매핑 문제를 해결하기 위해 (예: /api/transaction/log.do 와 /transaction/log.do) '.do' 확장자를 제거함. // 이제 이 엔드포인트는 /api/transaction/log 를 통해서만 접근 가능하며, API 컨벤션에 맞춰 단일하고 명확한 접근 지점을 보장함. - @GetMapping("/transaction/log") +// @GetMapping("/transaction/log") @PostMapping("/transaction/log") - public ResponseEntity getApiLog(String txDate, String apiServiceNumber) { + public ResponseEntity getApiLog(@RequestBody LogRequestBody requestBody) { DataSourceContextHolder.setDataSourceType(DataSourceTypeManager.getDataSourceType(DataSourceTypeManager.APIGW)); // txDate가 없으면 오늘 날짜 설정 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyyMMdd"); LocalDate searchDate; - if (StringUtils.hasText(txDate)) { - searchDate = LocalDate.parse(txDate, formatter); + if (StringUtils.hasText(requestBody.getTxDate())) { + searchDate = LocalDate.parse(requestBody.getTxDate(), formatter); } else { searchDate = LocalDate.now(); } @@ -51,7 +53,7 @@ public class ApiTransactionLogController extends BaseRestController { ApiLogDTO dto = null; for (int i = 0; i < 10; i++) { String searchDateStr = searchDate.format(formatter); - dto = eaiLogService.getApiLog(searchDateStr, apiServiceNumber); + dto = eaiLogService.getApiLog(searchDateStr, requestBody.getApiServiceNumber()); // 결과가 있으면 종료 if (dto != null && dto.getLogs() != null && !dto.getLogs().isEmpty()) { @@ -138,4 +140,9 @@ public class ApiTransactionLogController extends BaseRestController { return ui; } -} + @Data + public static class LogRequestBody { + private String txDate; + private String apiServiceNumber; + } +} \ No newline at end of file