์๋ํฌ์ธํธ ํ๋๋ฅผ OpenAPI 3 ๋ฌธ์๋ก ์ฎ๊ธฐ๊ธฐ
๊ฒฝ๋ก์ ๋ฉ์๋, ํ๋ผ๋ฏธํฐ, ์๋ต ์ฝ๋๋ฅผ ๋ฃ์ผ๋ฉด ๊ทธ๋๋ก ํ์ผ์ ์ ์ฅํ ์ ์๋ ์ต์ OpenAPI 3 ๋ฌธ์๋ฅผ YAML ๋ก ๋ง๋ญ๋๋ค. ๊ฒฝ๋ก์ ์ด ์ค๊ดํธ ๋ณ์๊ฐ ํ๋ผ๋ฏธํฐ๋ก ์ ์ธ๋์ง ์์๊ฑฐ๋ ์ ์ธ๋ง ์๊ณ ๊ฒฝ๋ก์ ์์ผ๋ฉด ์์ฑ์ ๋ฉ์ถ๊ณ ์ด๋ ์ด๋ฆ์ด ์ด๊ธ๋ฌ๋์ง ์๋ ค ์ค๋๋ค. ์ํ ์ฝ๋์ ๊ฒฝ๋ก๋ ๋ฐ์ดํ๋ก ๊ฐ์ธ YAML ์ด ์ซ์๋ ๋ค๋ฅธ ํ์ ์ผ๋ก ์ฝ์ง ์๊ฒ ํ์ต๋๋ค.
3.0 ๊ณผ 3.1 ์ ๊ฐ์ ๋ป์ ๋ค๋ฅด๊ฒ ์ ์ต๋๋ค. 3.1 ์ JSON Schema 2020-12 ์ ์ ํฉ๋์ด null ํ์ฉ์ type ๋ฐฐ์ด๋ก ์ฐ๊ณ , 3.0 ์ nullable ํค๋ฅผ ์๋๋ค. ๋ฒ์ ์ ๋ฐ๊ฟ ๋ณด๋ฉด ๊ทธ ์ฐจ์ด๊ฐ ๊ฒฐ๊ณผ๋ฌผ์ ๋ฐ๋ก ๋๋ฌ๋ฉ๋๋ค. ๊ท๊ฒฉ ๋ณธ๋ฌธ์ OpenAPI Initiative ๊ฐ ๊ณต๊ฐํ OpenAPI Specification ์ ๋ฐ๋ฆ ๋๋ค(2026๋ 10์ ๊ธฐ์ค).
๋ฌธ์์ ๋ผ๋๋ง ๋ง๋๋ ๋๊ตฌ์ ๋๋ค. ์คํค๋ง ์์ฑ ์ ์ฒด, ๋ณด์ ์ ์, ์ปดํฌ๋ํธ ์ฌ์ฌ์ฉ ์ฐธ์กฐ๋ ๋ง๋ค์ง ์๊ณ , ์ด๋ฏธ ์๋ ๋ฌธ์๋ฅผ ์ฝ์ด ๊ฒ์ฆํ๋ ๊ธฐ๋ฅ๋ ์์ต๋๋ค. ์ด๋ค ๋ฒ์ ์ ์ธ์ง๋ ํจ๊ป ์ฐ๋ ๋๊ตฌ๊ฐ ์ง์ํ๋ ๋ฒ์์ ๋ฌ๋ ค ์์ผ๋ ์์ฑํ YAML ์ด ์ค์ ๊ตฌํ๊ณผ ๋ง๋์ง ์ง์ ํ์ธํ์ธ์.
์์ฃผ ๋ฌป๋ ์ง๋ฌธ
openapi, info, paths ๋ฅผ ๊ฐ์ถ ์ต์ ๋ฌธ์ ํํ๋ก ๋์ค๋ฏ๋ก ๊ทธ๋๋ก ํ์ผ์ ์ ์ฅํด ๋๊ตฌ์ ๋ฃ์ ์ ์์ต๋๋ค. ๋ค๋ง ์คํค๋ง ์์ฑ๊ณผ ๋ณด์ ์ ์๋ ๋น์ด ์์ด ์ค์ ์๋น์ค ๋ฌธ์๋ก ์ฐ๋ ค๋ฉด ์ง์ ์ฑ์์ผ ํฉ๋๋ค.
ํจ๊ป ์ฐ๋ ๋๊ตฌ๊ฐ ์ง์ํ๋ ๋ฒ์ ์ ๋ฐ๋ฅด๋ ๊ฒ์ด ์์ ํฉ๋๋ค. 3.1 ์ JSON Schema 2020-12 ์ ์ ํฉ๋๊ณ 3.0 ์ ๋ณํ๋ ์คํค๋ง๋ฅผ ์ฐ๋ฏ๋ก, null ํ์ฉ ํ๊ธฐ๋ถํฐ ๊ฒฐ๊ณผ๋ฌผ์ด ๋ฌ๋ผ์ง๋๋ค.
์ค๊ดํธ ์์ด ๋น์ด ์๋ ๊ฒฝ์ฐ์ ๊ฒฝ๋ก ๋ณ์๊ฐ ํ๋ผ๋ฏธํฐ๋ก ์ ์ธ๋์ง ์์ ๊ฒฝ์ฐ ๋ชจ๋ ์ค๋ฅ๋ก ์๋ฆฌ๊ณ ์์ฑ์ ๋ฉ์ถฅ๋๋ค. ์ด๋ ์ด๋ฆ์ด ๋น ์ก๋์ง ํจ๊ป ๋ณด์ฌ ์ค๋๋ค.