header-img
Info :
API 2
API :: API Versioning ? 1
2024.04.26
๋ฐฑ์—”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋ผ๋ฉด API๋ฅผ ๋งŒ๋“ค๊ณ  ๋ฐฐํฌํ•œ ๊ฒฝํ—˜์ด ์žˆ์„ ๊ฒƒ์ด๋‹ค.์ด๋Ÿฐ API๋Š” ํ•œ๋ฒˆ ๋งŒ๋“ค๊ณ  ๋ฐฐํฌํ•˜๋ฉด, ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒŒ ์–ด๋ ค์›Œ์ง€๊ฒŒ ๋˜๋Š”๋ฐ.. ๊ทธ๋ž˜์„œ API Versioning์œผ๋กœ ์ด๋ฅผ ๊ด€๋ฆฌํ•˜๊ฒŒ ๋œ๋‹ค..! API Versioning?API์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๊ด€๋ฆฌํ•˜๊ณ  ์ถ”์ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ API ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ ๋˜ํ•œ ํฌํ•จ ๋จ. API์˜ ์ƒ์‚ฐ์ž์™€ ์†Œ๋น„์ž๊ฐ€ ๊ณต๊ฐœ์ธ์ง€, ๋น„๊ณต๊ฐœ์ธ์ง€์— ๊ด€๊ณ„์—†์ด API๊ฐ€ ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ ๋™๊ธฐํ™”๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ๋ฐใ…ก, ์ด๋ฅผ ์œ„ํ•ด API Versioning์„ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. API Versioning ๋ฐฉ๋ฒ•๋ณดํ†ต ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ๋“ค์„ ๋ณ€๊ฒฝ, ๋ณด์™„ ํ•ด์„œ ์žฌ ๋ฐฐํฌ ํ•  ๋•Œ 1.0.1 ํ˜•ํƒœ๋กœ tag ๋‚˜ publish๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ,API ๋Š” ์–ด๋–ค ๋ฐฉ๋ฒ•์œผ๋กœ Ver..
list_img
SpringBoot :: Swagger API ์—ฐ๋™
2023.10.26
dev. environment. SpringBoot 3.1.1 Java 17 ์Šค์›จ๊ฑฐ(Swagger) ๋ž€? ๊ฐœ๋ฐœ์ž๊ฐ€ REST API ์„œ๋น„์Šค๋ฅผ ์„ค๊ณ„, ๋นŒ๋“œ, ๋ฌธ์„œํ™”ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ”„๋กœ์ ํŠธ REST API๋ฅผ ๋ฌธ์„œํ™”ํ•˜๋Š” ๋„๊ตฌ์ด๋ฉฐ, API์— ๋Œ€ํ•œ ๋ช…์„ธ(Spec)์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ API๊ฐ€ ์ˆ˜์ •๋˜๋”๋ผ๋„ ๋ฌธ์„œ๊ฐ€ ์ž๋™์œผ๋กœ ๊ฐฑ์‹ . 2011 ๋…„์— ์ฒ˜์Œ ๋„์ž…๋œ ๊ฐœ๋… ๊ธฐ์กด, ์›Œ๋“œ๋‚˜ ์—‘์…€ ๋“ฑ ์ˆ˜๊ธฐ ์ž‘์„ฑํ•˜๋Š” ๋ฌธ์„œํ˜• API ๋ช…์„ธ์„œ์™€ ๋‹ฌ๋ฆฌ ์„œ๋ฒ„์— ์ผ์ • ์…‹ํŒ…์„ ํ•ด์ฃผ๋ฉด API ๋ช…์„ธ์„œ๊ฐ€ ๊ฐฑ์‹ ๋œ๋‹ค. ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž์˜ ๊ฒฝ์šฐ ํด๋ผ์ด์–ธํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜๋Š” ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž์™€ ์†Œํ†ต์„ ํ•˜๋ ค๋ฉด API ๋ช…์„ธ์„œ๊ฐ€ ๊ผญ ํ•„์š”ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๊ฑธ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ช…์„ธํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ๋„ ๊ฝค๋‚˜ ํฐ ์ผ๋กœ ํŒŒ์•…๋œ๋‹ค. ์ด๋Ÿฐ ์—…๋ฌด ๋กœ์Šค๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด ์„œ๋ฒ„ ๋‹จ์— ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ๋ฐ”..