- Service: BIGDECIMAL 매핑 추가 - 반환 유형 'number' - Monitoring: Properties 초기화 및 null 체크 로직 추가 - JS: 샘플 응답 상태 시 안내 메시지 추가
This commit is contained in:
@@ -1004,7 +1004,9 @@
|
||||
['sample', 'mock', 'gw'].map(v =>
|
||||
`<label class="inline-flex items-center gap-1 text-sm mr-3"><input type="radio" name="portal-rt" data-portal-rt="${v}" ${rt === v ? 'checked' : ''}> ${v === 'gw' ? 'GW' : v}</label>`
|
||||
).join('') +
|
||||
`<div class="mt-2 text-xs text-slate-500">실제 호출 주소: <code id="resolved-call-url" class="font-mono text-slate-700 break-all">${escapeHtml(resolvedCallUrl())}</code></div>` +
|
||||
(rt === 'sample'
|
||||
? `<div class="mt-2 text-xs text-slate-500">응답 샘플을 바로 리턴합니다.</div>`
|
||||
: `<div class="mt-2 text-xs text-slate-500">실제 호출 주소: <code id="resolved-call-url" class="font-mono text-slate-700 break-all">${escapeHtml(resolvedCallUrl())}</code></div>`) +
|
||||
(rt === 'gw' ? `<div class="mt-1 text-xs text-slate-400">GW 주소는 포탈 설정(PTL_PROPERTY, 그룹 Portal)의 <code class="font-mono">djb.gateway.base-url</code> 값을 사용합니다.</div>` : '') +
|
||||
'</div>') +
|
||||
(rt === 'mock' ? fieldRow('Mock Server URL', input(p.mockUrl || '', 'data-portal="mockUrl"', { placeholder: 'https://mock.example.com' }), { hint: 'Mock 응답을 제공할 서버의 기본 URL. 응답 유형이 Mock 일 때 개발자포탈이 이 주소로 요청을 전달하고, Swagger 스펙의 서버 주소로도 사용됩니다.' }) : '')
|
||||
|
||||
@@ -1545,9 +1545,9 @@
|
||||
<button type="button" class="cssbtn" id="btn_delete" level="W" status="DETAIL"><i class="material-icons">delete</i> <%= localeMessage.getString("button.delete") %></button>
|
||||
<button type="button" class="cssbtn" id="btn_modify" level="R" status="DETAIL,NEW"><i class="material-icons">save</i> <%= localeMessage.getString("button.modify") %></button>
|
||||
<!-- v1: 기존 API 스펙 (모달) — 기능 비교용 복원 -->
|
||||
<button type="button" class="cssbtn" id="btn_api_spec" level="R" status="DETAIL,NEW"><i class="material-icons">description</i> API 스펙(삭제예정)</button>
|
||||
<button type="button" class="cssbtn" id="btn_api_spec" level="R" status="DETAIL"><i class="material-icons">description</i> API 스펙(삭제예정)</button>
|
||||
<!-- v2: 신규 OpenAPI Spec (새 탭) -->
|
||||
<button type="button" class="cssbtn" id="btn_openapi_spec" level="R" status="DETAIL,NEW"><i class="material-icons">api</i> OpenAPI Spec</button>
|
||||
<button type="button" class="cssbtn" id="btn_openapi_spec" level="R" status="DETAIL"><i class="material-icons">api</i> OpenAPI Spec</button>
|
||||
<button type="button" class="cssbtn" id="btn_previous" level="R" status="DETAIL,NEW"><i class="material-icons">arrow_back</i> <%= localeMessage.getString("button.previous") %></button>
|
||||
</div>
|
||||
<div class="title" id="title" style="font-size:1.4em">${rmsMenuName}</div>
|
||||
|
||||
@@ -36,7 +36,7 @@ class MonitoringContextImpl implements MonitoringContext {
|
||||
@Autowired
|
||||
private MonitoringContextDAO monitoringContextDAO;
|
||||
|
||||
private Properties properties = null;
|
||||
private Properties properties = new Properties();
|
||||
|
||||
private String instancePropertyGroupName;
|
||||
|
||||
@@ -73,7 +73,10 @@ class MonitoringContextImpl implements MonitoringContext {
|
||||
String hostIp = InetAddress.getLocalHost().getHostAddress();
|
||||
this.instancePropertyGroupName = String
|
||||
.format(MonitoringPropertyGroupService.MONITORING_PROPERTY_KEY_FORMAT, hostIp);
|
||||
this.properties = monitoringContextDAO.getProperties(instancePropertyGroupName);
|
||||
Properties loaded = monitoringContextDAO.getProperties(instancePropertyGroupName);
|
||||
if (loaded != null) {
|
||||
this.properties = loaded;
|
||||
}
|
||||
|
||||
String eaiAgentId = System.getProperty(EAI_AGENTID);
|
||||
if (StringUtils.isBlank(eaiAgentId)) {
|
||||
|
||||
@@ -676,6 +676,7 @@ public class ApiSpecManService {
|
||||
return "integer";
|
||||
case "DECIMAL":
|
||||
case "DOUBLE":
|
||||
case "BIGDECIMAL":
|
||||
return "number";
|
||||
case "BOOLEAN":
|
||||
return "boolean";
|
||||
|
||||
Reference in New Issue
Block a user