|
|
|
|
@ -28,27 +28,61 @@ public class VmisProperties {
|
|
|
|
|
public static class ApiProps {
|
|
|
|
|
@NotNull
|
|
|
|
|
private UrlProps url = new UrlProps();
|
|
|
|
|
// 구/신 API 선택 플래그 (YML flag)
|
|
|
|
|
private boolean useOldBasic = false; // true = /old-basic, false = /new-basic
|
|
|
|
|
private boolean useNewLedger = true; // 현재는 신규 원부만 사용
|
|
|
|
|
|
|
|
|
|
@Data
|
|
|
|
|
public static class UrlProps {
|
|
|
|
|
@NotBlank
|
|
|
|
|
private String base = "http://localhost:8081/api/v1/vehicles"; // 기본 Base URL
|
|
|
|
|
// 구/신 API 엔드포인트 경로 (신규 요구사항 반영)
|
|
|
|
|
@NotBlank
|
|
|
|
|
private String oldBasic = "/old-basic"; // 구 자동차기본정보
|
|
|
|
|
@NotBlank
|
|
|
|
|
private String newBasic = "/new-basic"; // 신 자동차기본정보
|
|
|
|
|
@NotBlank
|
|
|
|
|
private String newLedger = "/new-ledger"; // 신 자동차등록원부(갑)
|
|
|
|
|
|
|
|
|
|
@NotNull
|
|
|
|
|
private ApiTypeProps basic = new ApiTypeProps(); // 자동차기본정보 API 설정
|
|
|
|
|
|
|
|
|
|
@NotNull
|
|
|
|
|
private ApiTypeProps ledger = new ApiTypeProps(); // 자동차등록원부(갑) API 설정
|
|
|
|
|
|
|
|
|
|
@Data
|
|
|
|
|
public static class ApiTypeProps {
|
|
|
|
|
@NotBlank
|
|
|
|
|
private String oldOrNew = "new"; // API 버전 선택 ("old" 또는 "new")
|
|
|
|
|
|
|
|
|
|
@NotBlank
|
|
|
|
|
private String oldUrl = "/old-basic"; // 구 API 엔드포인트
|
|
|
|
|
|
|
|
|
|
@NotBlank
|
|
|
|
|
private String newUrl = "/new-basic"; // 신 API 엔드포인트
|
|
|
|
|
|
|
|
|
|
// 선택된 API URL 반환
|
|
|
|
|
public String getSelectedUrl() {
|
|
|
|
|
return "old".equalsIgnoreCase(oldOrNew) ? oldUrl : newUrl;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 외부 VMIS-interface 호출용 전체 URL 조합 헬퍼
|
|
|
|
|
// 구/신 URL 조합 헬퍼
|
|
|
|
|
public String buildOldBasicUrl() { return join(base, oldBasic); }
|
|
|
|
|
public String buildNewBasicUrl() { return join(base, newBasic); }
|
|
|
|
|
public String buildNewLedgerUrl() { return join(base, newLedger); }
|
|
|
|
|
// YAML 설정(old-or-new)에 따라 자동으로 선택
|
|
|
|
|
public String buildBasicUrl() {
|
|
|
|
|
return join(base, basic.getSelectedUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String buildLedgerUrl() {
|
|
|
|
|
return join(base, ledger.getSelectedUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 명시적으로 old/new 버전 선택 (하위 호환성 및 명시적 호출용)
|
|
|
|
|
public String buildOldBasicUrl() {
|
|
|
|
|
return join(base, basic.getOldUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String buildNewBasicUrl() {
|
|
|
|
|
return join(base, basic.getNewUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String buildOldLedgerUrl() {
|
|
|
|
|
return join(base, ledger.getOldUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public String buildNewLedgerUrl() {
|
|
|
|
|
return join(base, ledger.getNewUrl());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private String join(String base, String path) {
|
|
|
|
|
String b = base;
|
|
|
|
|
|