한 YAML 파일에서 API 문서, 검증, SDK 생성
OpenAPI 3.x (이전 Swagger) 가 HTTP API 를 YAML 또는 JSON 문서로 묘사. 도구가 docs 렌더 (Redoc, Swagger UI), 요청/응답 검증 (Stoplight, Spectral), 수십 언어로 SDK 생성 — 다 같은 source 파일에서.
최상위 모양
openapi:— spec 버전 (현재3.1.0).info:— 제목, 버전, 설명.paths:— 엔드포인트. 각 path → method (get/post/etc.) → parameter/requestBody/response.components:— 재사용 가능한 schema, parameter, response, security scheme.
왜 JSON 위에 YAML
OpenAPI spec 이 자주 깊이 중첩된 schema 가진 수백 줄. 주석, anchor, folded string 이 YAML 을 readable 하게 만듦, JSON 등가는 벽이 됨. spec 이 둘 다 받아들임; 팀이 다수결로 YAML 선택.
Schema-first vs code-first: 두 유효 워크플로우. Schema-first 가 OpenAPI YAML 손으로 작성 후 server stub + client 생성. Code-first 가 server (FastAPI, NestJS, ASP.NET) 작성 후 decorator 에서 OpenAPI emit. Schema-first 가 더 엄격한 계약; code-first 가 더 빠른 피드백 루프. 팀 크기로 결정 — 작은 팀 → code-first, 다중 팀 API → schema-first.