OpenAPI 추가 HTTP 연산

OpenAPI Additional Operations

OpenAPI 3.2의 additionalOperations로 기본 필드 밖의 HTTP 메서드를 문서화합니다.

···
html
<div class="viz"><h3>PATH /items/{id}</h3><div class="row"><div class="box code">GET<br>POST</div><span class="arrow">+</span><div class="box code" id="extra">COPY</div><span class="arrow">→</span><div class="box" id="docs">3 operations</div></div><div class="muted">additionalOperations map</div></div>
css
.viz{width:94%;height:88%;max-width:960px;padding:clamp(10px,2vmin,18px);border:1px solid var(--line);border-radius:14px;background:var(--surface);font:600 clamp(12px,1.35vw,16px)/1.35 var(--font-sans,system-ui,sans-serif);display:flex;flex-direction:column;gap:clamp(7px,1.8vmin,13px);overflow:hidden}.viz h3{margin:0;color:var(--accent);font:700 clamp(12px,1.35vw,16px)/1.2 var(--font-sans,system-ui,sans-serif);letter-spacing:.04em}.viz .row{display:flex;align-items:center;justify-content:center;gap:clamp(5px,1.4vmin,12px);flex:1;min-height:0}.viz .box{padding:clamp(5px,1.5vmin,12px);border:1px solid var(--line);border-radius:9px;background:var(--bg);text-align:center}.viz .muted{color:var(--muted)}.viz .accent{color:var(--accent)}.viz .code{font-family:ui-monospace,monospace}.viz .pill{padding:3px 7px;border:1px solid var(--line);border-radius:99px;white-space:nowrap}.viz .active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.viz .arrow{color:var(--accent);font:700 18px ui-monospace,monospace}#extra{color:var(--accent-2);transition:opacity .3s}#extra.off{opacity:.18}#docs{min-width:25%;border-color:var(--accent)}
js
let added=true;function draw(){added=!added;document.getElementById('extra').classList.toggle('off',!added);document.getElementById('docs').textContent=added?'3 operations':'2 operations'}draw();setInterval(draw,1700)

OpenAPI 경로 항목은 GET·POST처럼 자주 쓰는 메서드를 고정 필드로 가집니다. 3.2의 additionalOperations는 그 밖의 HTTP 메서드를 이름으로 넣는 맵입니다. 명세는 COPY 같은 추가 연산의 요청·응답도 같은 Operation Object로 설명할 수 있습니다.

데모는 명세에 COPY /items/{id}를 추가하자 문서의 연산 목록에 새 카드가 생기는 모습을 보여줍니다. 설명 가능해졌다는 사실과 서버·프록시가 그 메서드를 실제로 지원한다는 사실은 별개이므로 배포 경로에서 검증해야 합니다.

언제 쓰나

표준 고정 필드에 없는 HTTP 메서드를 API 명세에 정확히 표현해야 할 때 씁니다.

페이지로 열기 ↗