8ccf52fd66
- Service: GET/DELETE 요청 바디 항목→쿼리 파라미터 매핑 로직 추가 - JS: 요청 정보 진입 시 탭 자동 전환 로직(firstReqTabWithData) 구현
76 lines
1.8 KiB
JavaScript
76 lines
1.8 KiB
JavaScript
// OpenAPI 에디터 초기 상태 골격(빈 껍데기).
|
|
// - specToData() 가 deepClone 하여 서버 spec 값으로 덮어쓰는 구조 기준값.
|
|
// - 실제 데모/샘플 값은 두지 않는다(팝업은 항상 서버 spec 로드 후 렌더).
|
|
// - docOptions 만 기능 기본값으로 유지(문서 미리보기 옵션).
|
|
// locked:true = 게이트웨이 자동 주입(회색+자물쇠) / locked:false = 사용자 편집.
|
|
|
|
window.SAMPLE_DATA = (function () {
|
|
function f() { return { value: '', locked: false }; }
|
|
return {
|
|
info: {
|
|
title: f(),
|
|
version: f(),
|
|
summary: f(),
|
|
description: f(),
|
|
termsOfService: f(),
|
|
contact: { name: f(), email: f(), url: f() },
|
|
license: { name: f(), url: f() }
|
|
},
|
|
|
|
tags: [],
|
|
|
|
externalDocs: { description: f(), url: f() },
|
|
|
|
servers: [],
|
|
|
|
serverVariables: [],
|
|
|
|
operation: {
|
|
method: f(),
|
|
path: f(),
|
|
operationId: f(),
|
|
summary: f(),
|
|
description: f(),
|
|
tags: { value: [], locked: false },
|
|
deprecated: { value: false, locked: false }
|
|
},
|
|
|
|
// 파라미터 (Path/Query/Header/Cookie)
|
|
parameters: [],
|
|
|
|
// Request Body 스키마
|
|
requestBody: {
|
|
mediaType: 'application/json',
|
|
required: { value: false, locked: false },
|
|
schema: []
|
|
},
|
|
|
|
// 응답 스키마 (상태코드 별)
|
|
responses: {
|
|
'200': { description: f(), schema: [] }
|
|
},
|
|
|
|
// 보안 스킴
|
|
securitySchemes: [],
|
|
globalSecurity: [],
|
|
|
|
// 예제
|
|
examples: {
|
|
request: {},
|
|
response: {}
|
|
},
|
|
|
|
// 문서 옵션
|
|
docOptions: {
|
|
theme: 'light',
|
|
lang: 'ko',
|
|
includeExamples: true,
|
|
tryItOut: true,
|
|
defaultExpandDepth: -1,
|
|
layout: 'BaseLayout',
|
|
tagFilter: [],
|
|
sideToc: true
|
|
}
|
|
};
|
|
})();
|