- 테스트베드 프록시 설정 키 및 기능 추가(DjbApiSpecController)
eapim-admin CI / build (push) Has been cancelled

- 인증 스킴 라벨 판별 로직(schemeAuthLabel) 및 프록시 사용 여부 표시 로직 추가
- JSP/JS: 프록시 여부 관련 UI 및 데이터 연계 처리
This commit is contained in:
Rinjae
2026-07-23 20:26:11 +09:00
parent 406dd34e28
commit 26679cf649
3 changed files with 64 additions and 8 deletions
@@ -72,6 +72,9 @@ public class DjbApiSpecController extends OnlBaseAnnotationController {
// 별도 swagger.gw.address 프로퍼티는 두지 않는다.
private static final String GW_BASE_URL_KEY = "djb.gateway.base-url";
private static final String GW_BASE_URL_DEFAULT = "PortalMock";
// 테스트베드 프록시 사용 여부(포탈 DjbTestbedGatewayProperty 와 동일 키). 마법사에 호출/인증 프록시 경유 안내용.
private static final String USE_PROXY_KEY = "djb.gateway.use-proxy";
private static final String TOKEN_USE_PROXY_KEY = "djb.gateway.token-use-proxy";
// "PortalMock" 은 포탈이 요청 origin 으로 치환하는 sentinel 이라 admin 미리보기용 서버 주소로는 부적합 → 대체값 사용.
private static final String GW_PREVIEW_FALLBACK = "http://127.0.0.1:39310";
@@ -85,9 +88,30 @@ public class DjbApiSpecController extends OnlBaseAnnotationController {
gw = GW_PREVIEW_FALLBACK; // PortalMock → admin 미리보기용 구체 주소로 대체
}
model.addAttribute("gwAddress", gw.trim());
// 테스트베드 프록시(/api/call-api) 사용 여부 — mock/gw 호출·인증 프록시 경유 안내 표기용
model.addAttribute("useProxy", resolveBoolProperty(USE_PROXY_KEY, true));
model.addAttribute("tokenUseProxy", resolveBoolProperty(TOKEN_USE_PROXY_KEY, true));
return "/onl/transaction/apim/djbApiSpecManPopup";
}
/** 포탈 그룹 프로퍼티(불리언, 레거시 Y/N 포함)를 읽어 boolean 으로 해석. 미설정/파싱불가 시 default. */
private boolean resolveBoolProperty(String key, boolean def) {
String v = portalPropertyService.getOrCreateProperty(
"Portal", key, def ? "true" : "false",
"테스트베드 프록시(/api/call-api) 사용 여부(true/false)");
if (v == null) {
return def;
}
String s = v.trim();
if (s.equalsIgnoreCase("true") || s.equalsIgnoreCase("Y")) {
return true;
}
if (s.equalsIgnoreCase("false") || s.equalsIgnoreCase("N")) {
return false;
}
return def;
}
// API 그룹 선택 팝업(iframe 모달 대상). 그룹 목록 그리드는 apiGroupMan.json?cmd=LIST 재사용.
@GetMapping(value = "/onl/transaction/apim/djbApiSpecMan.view", params = "cmd=GROUP_POPUP")
public String viewGroupPopup() {