๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ‘ฉ‍๐Ÿ’ป ๊ฐœ๋ฐœ์ž life/์‹ ์ž… ๊ฐœ๋ฐœ์ž ์ ์‘๊ธฐ

์„œ๋ฒ„ API ๊ณผ์ œ ํšŒ๊ณ ๋ก

by vodkassi 2021. 11. 23.
728x90

์•ฝ 1์ฃผ์ผ ์ •๋„์˜ ๊ธฐ๊ฐ„ ๋™์•ˆ, ํŒ€์—์„œ ๋ถ€์—ฌํ•œ API ๊ตฌํ˜„ ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  ๋ฐฐ์šด ์ ์„ ๊ธฐ๋กํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ธ€์€ ์ „์ฒด ํšŒ๊ณ  ์‹œ๊ฐ„์— ํŒ€์›๋“ค์—๊ฒŒ ๋จผ์ € ๊ณต์œ ๋˜์—ˆ๋˜ ๋‚ด์šฉ์ด๋ฉฐ, ์ดํ›„ ์•ฝ๊ฐ„์˜ ์ˆ˜์ •์„ ๊ฑฐ์ณ ๋ธ”๋กœ๊ทธ์— ๊ฒŒ์‹œํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“ ๊ฐœ์š”

โ— ํšŒ๊ณ ๋ฅผ ๊ตณ์ด? ๊ทธ๋Ÿด ์‹œ๊ฐ„์— ์ฝ”๋“œ๋‚˜ ํ•œ ์ค„ ๋” ์น˜์ง€.. โ† ๋ฅผ ๋ฐฉ์–ดํ•˜๊ธฐ ์œ„ํ•œ ์‰ด๋“œ์šฉ ์„œ๋‘์ž…๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๊ธฐ ํ›จ์”ฌ ์ „๋ถ€ํ„ฐ 'ํšŒ๊ณ '์˜ ์ค‘์š”์„ฑ์€ ์ตํžˆ ์•Œ๊ณ  ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์Šคํ”„๋ฆฐํŠธ๋‚˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์–ป์€ ์ข‹์€ ์ ๋“ค์€ ํ™•์‹คํžˆ ์กฑ์ ์„ ๋‚จ๊ธฐ๊ณ  ๊ฑธ๋Ÿฌ๋‚ด์•ผ ํ•  ๊ฒƒ๋“ค์€ ํ™•์‹คํžˆ ๊ฑธ๋Ÿฌ๋‚ด๋Š” ํšŒ๊ณ  ์ž‘์—…์€ ๊ฐœ๋ฐœ์—์„œ์•ผ๋ง๋กœ ๋”์šฑ ๋น›์„ ๋ฐœํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— (์˜ˆ๋น„)๊ฐœ๋ฐœ์ž๋กœ ๊ฑฐ๋“ญ๋‚œ ๋’ค์—๋„ ํšŒ๊ณ ๋ฅผ ๋Š˜ ๊ณ์— ๋‘๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ๊ณ , ์ด๋ฒˆ ๊ณผ์ œ๋ฅผ ๊ณ„ํšํ•  ๋‹จ๊ณ„์—์„œ๋ถ€ํ„ฐ ํšŒ๊ณ ๊นŒ์ง€๋„ ๊ณผ์ œ์˜ ์ผ๋ถ€๋ผ๊ณ  ์ƒ๊ฐํ•˜๊ณ  ์ง„ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ณผ์ œ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•˜๋ฉฐ ํ•ฉ์˜ํ–ˆ๋˜ ๊ณผ์ œ์˜ ์ „์ œ์ด์ž ๋ชฉ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

  • (์‹ ๊ทœ์ž…์‚ฌ์ž๊ฐ€) TypeScript, NestJS, moment ๋“ฑ์˜ ์Šคํƒ์„ ํ•™์Šตํ•˜๊ณ 
  • ํŒ€์˜ ์ฝ”๋“œ ๊ตฌ์กฐ์™€ ์„œ๋ฒ„ ์•„ํ‚คํ…์ณ์— ๋น ๋ฅด๊ฒŒ ์ ์‘ํ•˜๊ณ 
  • ์ฐจํ›„ sprint ์—์„œ์˜ ์›ํ™œํ•œ ํ˜‘์—…์„ ์œ„ํ•œ ์‚ฌ์ „ ์ค€๋น„๋ฅผ ํ•œ๋‹ค.

์ด๋ฒˆ ํšŒ๊ณ ๊ธ€์—์„œ๋Š” ์œ„์˜ ์„ธ ๊ผญ์ง€๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ์‹ ์ž…์œผ๋กœ์„œ, ๊ทธ๋ฆฌ๊ณ  ๊ฐœ์ธ์œผ๋กœ์„œ ์–ด๋–ค ๊ฒƒ๋“ค์„ ๋ฐฐ์šฐ๊ณ  ๋ฒ„๋ฆด ์ˆ˜ ์žˆ์—ˆ๋Š”์ง€ ๊ด„๋ชฉํ•˜์—ฌ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ ์‹ ์ž…์˜ ๊ด€์ 


1. ๋ฐฑ๋ฌธ์ด ๋ถˆ์—ฌ์ผํƒ€(ๆ‰“)

๊ณผ์ œ๋ฅผ ์œ„ํ•œ ์ฝ”๋“œ ์ž‘์—…์„ ํ•˜๋ฉฐ ๊ฐ€์žฅ ์กฐ์‹ฌํ–ˆ๋˜ ๊ฒƒ์€ ๊ธฐ์กด์— ๊ตฌํ˜„๋œ ๊ฒฐ๊ณผ๋ฌผ์„ ๊ทธ๋Œ€๋กœ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ๋Š” ์‹์˜ ์ž‘์—…์„ ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํŠน์ • ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ์™œ ํŠน์ • ๋ฉ”์„œ๋“œ๋ฅผ ์„ ํƒํ–ˆ๋Š”์ง€, ๋‹ค๋ฅด๊ฒŒ ์ƒ๊ฐํ•œ๋‹ค๋ฉด ์–ด๋–ค ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์„์ง€, ๋ ˆํผ๋Ÿฐ์Šค ์ฝ”๋“œ์™€ ํ˜„์žฌ์˜ ์„ ํƒ์ด ๋‹ค๋ฅด๋‹ค๋ฉด ๋” ๋‚˜์€ ์ ์€ ๋ฌด์—‡์ธ์ง€ ๋“ฑ์„ ๊ณ ๋ฏผํ•˜๊ณ  ๊ฒฐ์ •ํ•˜๋Š” ๊ณผ์ •์„ ๋ฌด์—‡๋ณด๋‹ค ์ค‘์š”ํ•˜๊ฒŒ ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ์ด ๊ณผ์ •์„ ํ†ตํ•ด ๊ณต์‹๋ฌธ์„œ์—์„œ ๋ˆˆ์— ๋ฐœ๋ž๋˜ ๋‚ด์šฉ์„ ์ฒด๋“ํ•˜๊ณ , ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ์ฝ”๋“œ์˜ ์ž‘๋™ ์›๋ฆฌ๋ฅผ ๋”์šฑ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ์„œ๋ฒ„์™€ API์˜ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ฒŒ ๋œ ๊ฒƒ ์—ญ์‹œ ํฐ ์†Œ๋“์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ณผ์ œ๊ฐ€ ์ง„ํ–‰๋˜๊ธฐ ์ „์— ๋ฌธ์„œ๋กœ๋Š”, ๊ทธ๋ฆฌ๊ณ  ๊ตฌ๋‘๋กœ๋Š” ์„œ๋ฒ„ ๋ชจ๋“ˆ๊ณผ ํŒŒ์ผ์˜ ๊ตฌ์กฐ๋ฅผ ์ „๋‹ฌ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ท“๊ฐ€์— ๋จธ๋ฌผ๋Ÿฌ ์žˆ๋˜ ๋‚ด์šฉ์„ ์™„์ „ํžˆ ๋‚ด ๊ฒƒ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ•ด ์ค€ ๊ฒƒ์€ json response ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์งœ๋Š” ๋‹จ์ˆœํ•œ ์ž‘์—…์ด์—ˆ์Šต๋‹ˆ๋‹ค. ํ•  ์ˆ˜ ์žˆ๋Š”๋งŒํผ ์ฝ”๋“œ๋ฅผ ์งœ๊ณ  โ†’ ๋ ˆํผ๋Ÿฐ์Šค ์ฝ”๋“œ๋ฅผ ๋œฏ์–ด๋ณด๋ฉฐ ์‹ค์ œ ์„œ๋ฒ„์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„ํ–ˆ๋Š”์ง€ ๋ถ„์„ํ•˜๊ณ  โ†’ ์ด๋ฅผ ๋‹ค์‹œ ๊ฐ€์ ธ์™€ ์ ์šฉํ•ด๋ณด๋Š” ๋ฐฉ์‹์œผ๋กœ ์ž‘์—…์„ ์ง„ํ–‰ํ–ˆ๋Š”๋ฐ, ์ง„์ž…์žฅ๋ฒฝ์„ ๊นจ๊ณ  ๋‚˜๋‹ˆ ์„œ๋ฒ„์˜ ํฐ ๊ทธ๋ฆผ์ด ๋ˆˆ๊ณผ ์†์— ์ต๋”๊ตฐ์š”.

์ด๋Ÿฌํ•œ ๊ด€์ ์—์„œ, ๋‹จ์ˆœํ•œ ์š”์ฒญ์ด๋”๋ผ๋„ ์‹ค์ œ API ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ์ด๋Œ์–ด๋‚ด๋Š” ํšจ๊ณผ๊ฐ€ ํฌ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ํ•™์Šต + ์‹ค๋ฌด ํŒŒ์•…์„ ๋™์‹œ์— ๋”ฐ๋‚ผ ์ˆ˜ ์žˆ์—ˆ์œผ๋‹ˆ๊นŒ์š”.

๊ณผ์ œ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „ ์•ฝ ์ดํ‹€์—์„œ ์‚ฌํ˜ ์ •๋„ ์‹œ๊ฐ„์„ ๋“ค์—ฌ ๊ณต์‹๋ฌธ์„œ๋ฅผ ์ฝ๊ณ , ๋‚˜๋ฆ„์˜ ํ•™์Šต ๋ฐฉ๋ฒ•์„ ๋™์›ํ•ด ์Šคํƒ์„ ๊ณต๋ถ€ํ•ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ์ด๋ก  ํ•™์Šต์„ ์„ ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์–ด๋–ค ์ธก๋ฉด์œผ๋กœ๋Š” ๋„์›€์ด ๋˜๊ธฐ๋„ ํ•˜์ง€๋งŒ, ๋ชจ๋“  ๊ฒƒ์˜ ์›๋ฆฌ๋ฅผ ํ•˜๋ฃจ ์•ˆ์— ํŒŒ์•…ํ•  ์ˆ˜๋Š” ์—†๋Š” ๋ฒ•์ด๋ผ๋Š” ๊ฒƒ์„ ๋‹ค์‹œ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ์˜คํžˆ๋ ค ๊ฐœ์ธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•ด API ๊ตฌํ˜„ ์š”๊ตฌ์‚ฌํ•ญ์— ๊ฑธ๋งž๋Š” ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•˜๊ณ , ํŒŒ์ผํŠธ๋ฆฌ ๊ตฌ์กฐ๋ฅผ ๊ณ ๋ฏผํ•˜๋ฉฐ ๋ชจ๋“ˆ์„ ๋งŒ๋“œ๋Š” ๊ฐ„๋‹จํ•œ ์ž‘์—… ํ•˜๋‚˜์—์„œ, ๋ฌธ์„œ ๋‹ค์„ฏ ๋ฒˆ ์ฝ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ์–ป์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.


2. ๊ด€์šฉ์— ๋Œ€ํ•œ ๋ฌด๊ด€์šฉ (zero-tolerance for tolerance)

ํ™•์žฅ์„ฑ์„ ์œ„ํ•ด์„œ๋ผ๋ฉด, ์ฝ”๋“œ ์ปจ๋ฒค์…˜์€ ์ฒ ์ €ํ•˜๊ฒŒ ์ง€ํ‚ค๊ณ  ์˜ค๋ฅ˜๋‚˜ ๋ถˆํ•„์š”ํ•œ ๊ด€์Šต์€ ๊ผผ๊ผผํ•˜๊ฒŒ ์žก์•„๋‚ด๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์ƒˆ์‚ผ์Šค๋ž˜ ๋งŽ์ด ๊นจ๋‹ซ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์ œ๊ฐ€ ๊ธฐ์กด ์„œ๋ฒ„์˜ ์ฝ”๋“œ๋ฅผ ๋ ˆํผ๋Ÿฐ์Šค ์‚ผ๋‹ค๋ณด๋‹ˆ, ์ž˜ ์ •๋ฆฌ๋˜์–ด ์žˆ๋Š” ์ฝ”๋“œ์™€ ๋น„๊ต์  ๊ทธ๋ ‡์ง€ ์•Š์€ ์ฝ”๋“œ๋ฅผ ์ฝ์„ ๋•Œ ๊ธฐ๋Šฅ (๋˜๋Š” ์ฝ”๋“œ์˜ ๋ชฉ์ ) ์„ ์ดํ•ดํ•˜๋Š” ์ •๋„๊ฐ€ ํ™•์—ฐํžˆ ์ฐจ์ด ๋‚˜๋”๊ตฐ์š”. 1๋…„ ๋’ค, 2๋…„ ๋’ค์— ์ œ ์ฝ”๋“œ๋ฅผ ์ฝ๋Š” ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์ ์–ด๋„ ๋ถˆ์พŒ๊ฐ์€ ์ฃผ์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. (โ†’ ์‚ฌ์‹ค ์ด๊ฒŒ ํ˜„์—…์—์„œ๋Š” ๋‹น์—ฐํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ทธ๋™์•ˆ ํ˜ผ์ž or ๋‹จ๊ธฐ ํ”Œ์ ์œผ๋กœ๋งŒ ์ž‘์—…ํ–ˆ๋˜ ์ž…์žฅ์—์„œ๋Š” '1๋…„ ๋’ค์— ๋‚ด ์ฝ”๋“œ๋ฅผ ๋ณด๋Š” ์‚ฌ๋žŒ์ด ๋‚ด๊ฐ€ ์•„๋‹ ์ˆ˜ ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค' ์ž์ฒด๊ฐ€ ๊ต‰์žฅํžˆ ์ฐธ์‹ ํ•˜๊ณ  ์ƒˆ๋กญ๊ณ .. ๊ทธ๋žฌ๋‹ต๋‹ˆ๋‹ค)

๋‚ด ์ฝ”๋“œ๊ฐ€ ํ˜‘์—…ํ•˜๊ธฐ์— ์ข‹์€ ์ฝ”๋“œ์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํŒŒ์•…ํ•˜๊ณ , ์•„๋‹ˆ๋ผ๋ฉด ๋” ์ข‹์€ (ํ™•์žฅ ๊ฐ€๋Šฅํ•œ) ์ฝ”๋“œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋„๋ก ๊ฐœ์„ ์ ์„ ์ฐพ์•„์ค€ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๊ณผ์ •์ด ํฐ ๋„์›€์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜์˜ ์ฝ”๋“œ์—์„œ ์–ด๋–ค ๋ถ€๋ถ„์ด ๋ถ€์กฑํ–ˆ๋Š”์ง€๋ฅผ ๊ฐ๊ด€์ ์œผ๋กœ ํŒŒ์•…ํ•˜๊ณ , ๋ฐ›์€ ํ”ผ๋“œ๋ฐฑ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ์˜๊ฒฌ์ด ์žˆ๋‹ค๋ฉด ์˜๊ฒฌ์„ ๊ฐœ์ง„ํ•ด ๊ฐ€๋Š” ๋ฆฌ๋ทฐ ๊ณผ์ •์ด ํ™•์žฅ์  ์‚ฌ๊ณ ๋ฅผ ํ‚ค์›Œ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๊ณผ์ œ๋ฅผ ํ•˜๋ฉฐ ๋Š๋‚€ ํ˜„์—… vs ๊ฐœ์ธ ํŒ€ ํ”„๋กœ์ ํŠธ์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด์ ์€ "์–ผ๋งˆ๋‚˜ ๋งŽ์€ ๊ด€์šฉ์„ ๋ฒ ํ‘ธ๋Š๋ƒ" ์˜€์Šต๋‹ˆ๋‹ค. ํ˜ผ์ž ์ž‘์—…ํ•  ๋•Œ๋Š”, ๋˜๋Š” ๋ผ์ด๋ธŒ ์„œ๋น„์Šค๋ฅผ ํ•˜์ง€ ์•Š๋Š” ํŒ€ ํ”„๋กœ์ ํŠธ ์ž‘์—…์„ ํ•  ๋•Œ๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ฒ ์ €ํ•˜๊ฒŒ ๋ชจ๋“  ์ž‘์—…์„ ๊ฒ€ํ† ํ•˜์ง€ ์•Š๋Š” ์ด์ƒ ๊ด€์šฉ์„ ๋ฒ ํ‘ธ๋Š” ํฌ์ธํŠธ๊ฐ€ ๋งŽ์•„์ง€๊ธฐ ๋งˆ๋ จ์ž…๋‹ˆ๋‹ค. ๋ฐ”์˜๋‹ˆ๊นŒ ์ฃผ์„ ์ •๋ฆฌ ์ •๋„๋Š” ๋„˜์–ด๊ฐ€์ฃผ๊ณ , ํž˜๋“œ๋‹ˆ๊นŒ ๋ชจ๋“ˆํ™” ์ž‘์—…์€ ์ผ๋‹จ ๋ฏธ๋ค„๋‘๊ณ , ์„œ๋น„์Šค์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์€ ์•„๋‹ˆ๋‹ˆ๊นŒ ์ฝ”๋“œ ์ข€ ๋œ ๊น”๋”ํ•˜๊ฒŒ ์งœ๊ณ .. ๋“ฑ์˜ ํฌ์ธํŠธ ๋ง์ด์ฃ . ์ € ์—ญ์‹œ ์ด์ „ ์ž‘์—…๋“ค์„ ๋‹ค์‹œ ๋– ์˜ฌ๋ ค ๋ณด๋ฉด ์ด๋Ÿฐ์ €๋Ÿฐ ์‚ฌ์ • ๋•Œ๋ฌธ์— '๋‚˜์ค‘'์— ๋งก๊ธฐ๊ณ  ๊ทธ๋ƒฅ ๋„˜๊ฒผ๋˜ ๊ฒƒ๋“ค์ด ๋งŽ์Šต๋‹ˆ๋‹ค. ํ‰์ƒ ํ˜ผ์ž ์ž‘์—…ํ•˜๊ฑฐ๋‚˜, ์ฝ”๋“œ์˜ ๋ชจ๋“  ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์•Œ๊ณ  ์žˆ๋Š” ์ดˆ๊ธฐ ๋ฉค๋ฒ„๋“ค๋ผ๋ฆฌ ์ฃฝ์„ ๋•Œ๊นŒ์ง€ (?) ํ•จ๊ป˜ ์„œ๋น„์Šค๋ฅผ ์œ ์ง€ํ•œ๋‹ค๋ฉด ์ด๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ƒํ™ฉ์€ ๋ฐ”๋€Œ๊ณ  ์‚ฌ๋žŒ์€ ๋ง๊ฐํ•˜๊ธฐ ๋งˆ๋ จ์ด๋‹ˆ๊นŒ์š”.


3. ๋ฌดํ•œ ์‹œ๋ฎฌ๋ ˆ์ด์…˜

์ด๋ฒˆ ๊ณผ์ œ์—์„œ ์ œ์ผ ์ข‹์•˜๋˜ ์ ์€ ํ˜„์žฌ ๊ฐœ๋ฐœ๋˜๋Š” ์ŠคํŽ™๊ณผ ๊ด€๋ จ๋œ ๋…ผ์˜๊ฐ€ ์˜ฌ๋ผ์˜ค๋ฉด ํŒ”๋กœ์—…์ด ๊ฐ€๋Šฅํ•ด์กŒ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 100%๋Š” ์•„๋‹ˆ์–ด๋„, ์Šฌ๋ž™์— ์˜ฌ๋ผ์˜ค๋Š” ๋‚ด์šฉ๋“ค์˜ API ์ŠคํŽ™์„ ํ™•์ธํ•˜๊ณ  ์–ด๋–ค ์ ์ด ๋ฌธ์ œ๊ฐ€ ๋˜๊ณ  ์žˆ๋Š”์ง€ ๋Œ€๋žต ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์Šฌ๋ž™์ด๋‚˜ ํ‹ฐ์ผ“์—์„œ ์ƒˆ๋กœ์šด ์ด์Šˆ๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๋งˆ๋‹ค ๋ฏธ๋ž˜์˜ ๋‚ด๊ฐ€ ํ•˜๊ฒŒ ๋  ์ผ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉฐ ์ตœ๋Œ€ํ•™ ๋งฅ๋ฝ์„ ํŒŒ์•…ํ•˜๊ณ , ํ•ด๊ฒฐ์ ์ด ๋ฌด์—‡์ธ์ง€ ํŒ”๋กœ์—…ํ•˜๊ณ , ์–ด๋–ค ๋ฌธ์ œ๋“ค์„ ๋’ค๋กœ ๋‚จ๊ฒจ๋‘์—ˆ๋Š”์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ณผ์ œ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉฐ ๊ฐ์ข… ๋ฌธ์„œ์™€ Swagger API ์— ๋…ธ์ถœ๋˜์—ˆ๋˜ ๋•์ด๋ฉฐ, ์ง์ ‘ API ๊ตฌํ˜„์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐธ๊ณ ํ–ˆ๋˜ ๊ฒฝํ—˜์ด ๋ˆ„์ ๋˜์—ˆ๊ธฐ์— ๊ฐ€๋Šฅํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ“ ๊ฐœ์ธ์  ๊ด€์ 


1. ์ฝ”๋“œ์—๋งŒ ๋ ˆ๊ฑฐ์‹œ๊ฐ€ ์žˆ๋‚˜์š”

๊ฐœ์ธ์˜ ์ฝ”๋“œ ์Šคํƒ€์ผ์— ์ž”์žฌํ•˜๋Š” ๋ ˆ๊ฑฐ์‹œ๋„ ๋œฏ์–ด๊ณ ์ณ์•ผ ํ•จ์„ ๋งŽ์ด ๋Š๊ผˆ์Šต๋‹ˆ๋‹ค. ๊ณผ์ œ์™€ ์ฝ”๋“œ๋ฆฌ๋ทฐ๋ฅผ ํ†ตํ•ด ์˜ค๋ž˜ ์œ ์ง€๋˜์–ด ์ฒดํ™”๋œ์ง€๋„ ๋ชฐ๋ž๋˜ ์—ฌ๋Ÿฌ ์Šต๊ด€๋“ค์„ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ ๊ณผ์ œ๋ฅผ ๊ณ„๊ธฐ๋กœ ๊ฐ์„ฑํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜‘์—…์„ ํ•  ๋•Œ ๊ฐœ์ธ ์Šต๊ด€ ๋•Œ๋ฌธ์— ๊ฐ€๋…์„ฑ์„ ๋–จ์–ด๋œจ๋ฆฌ๋Š” ์ผ์€ ์—†์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋Š”๋ฐ์š”, ์ •์‹  ์ฐจ๋ฆฌ๊ณ  ์™„์ „ํžˆ ๋ฒ„๋ฆฌ๋„๋ก ํ•ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค.


2. ํ˜‘์—….. ์ข€ ์žฌ๋ฐŒ๋‚˜..?

์ €๋Š” ๋ฌด์–ธ๊ฐ€๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๊ณ , ๋ฐœ์ „ํ•ด๋‚˜๊ฐˆ ๋•Œ ์žฌ๋ฏธ๋ฅผ ๋Š๋ผ๋Š” ํŽธ์ธ๋ฐ์š”, ๊ทธ๊ฐ„ ๊ฒฝํ—˜์น˜๊ฐ€ ๋น„์Šทํ•œ ์นœ๊ตฌ๋“ค๊ณผ ํ˜‘์—…์„ ํ–ˆ๋˜ ๊ฒฝํ—˜๋งŒ ์Œ“์•„์˜จ์ง€๋ผ 'ํ˜‘์—…' === '๋ฐฐ์›€' ์ด๋ผ๋Š” ๊ณต์‹์ด ํ•ญ์ƒ ์„ฑ๋ฆฝํ•˜์ง€๋Š” ์•Š์•˜์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด์ œ๋Š” ๊ทธ ๊ณต์‹์ด ์™„์ „ํžˆ ์„ฑ๋ฆฝํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚จ์˜ ์ฝ”๋“œ๋ฅผ ์ฝ๊ณ  ๋‚ด ๊ฒƒ์œผ๋กœ ๋งŒ๋“ค๊ณ , ๋‚ด ์ฝ”๋“œ๋ฅผ ๊ณต์œ ํ•ด ๋ฆฌ๋ทฐ๋ฅผ ๋ฐ›๊ณ , ํŒ€์˜ ๋…ผ์˜๋ฅผ ํ†ตํ•ด ์‹œ์•ผ๋ฅผ ๋„“ํ˜€๊ฐ€๋Š” ๋ชจ๋“  ๊ณผ์ •์ด ๊ณง ๋ฐฐ์›€์ด์—ˆ๊ณ , ์žฌ๋ฏธ์˜€์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋„ ๊ณ„์† ๊ทธ๋Ÿฌ๋ฉด ์ข‹๊ฒ ๋Š”๋ฐ, ์ œ๊ฐ€ ์ดˆ์‹ฌ์„ ์žƒ์ง€ ์•Š๋„๋ก ์—ด์‹ฌํžˆ ํ•ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค.

๐ŸŒŸ ๊ฒฐ๋ก 

๋ฉด์ ‘ ๋•Œ ์—ฌ๋Ÿฌ ์ข‹์€ ์งˆ๋ฌธ์„ ๋ฐ›์•˜์—ˆ๊ณ , '์–ด๋–ค ๊ฐœ๋ฐœ์ž๊ฐ€ ์ข‹์€ ๊ฐœ๋ฐœ์ž๋ƒ'๋Š” ์งˆ๋ฌธ์ด ์œ ๋… ๊ธฐ์–ต์— ๋‚จ์Šต๋‹ˆ๋‹ค. ์ด ์งˆ๋ฌธ์€ ๋‹ฌ๋ฆฌ ๋งํ•˜๋ฉด '์ข‹์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด ๊ฐ–์ถ”์–ด์•ผ ํ•  ๋•๋ชฉ' ์„ ๋ฌป๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ, ์ด์— ๋Œ€ํ•œ ์ €์˜ ๋‹ต๋ณ€์„ ๊ณต์œ ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

  • 1) ๊ฒธ์†ํ•จ : ๊ฐœ๋ฐœ์ž๋ผ๋ฉด ๋‚ด๊ฐ€ ์ง  ์ฝ”๋“œ, ์•Œ๊ณ  ์žˆ๋Š” ์ง€์‹์ด ์ตœ๊ณ ๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ์ ์„ ์ถฉ๋ถ„ํžˆ ์ธ์ง€ํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ”ผ๋“œ๋ฐฑ์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ๊ณผ๋„ ์—ฐ๊ด€์ง€์–ด ๋ณผ ์ˆ˜ ์žˆ๊ธฐ๋„ ํ•˜๊ตฌ์š”.
  • 2) ๋ฐœ์ „/๋ฐฐ์›€์— ๋Œ€ํ•œ ์˜์ง€ : ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ๋งŽ์€ 1) ์‹ ์ž… 2) ๋น„์ „๊ณต์ž ์ถœ์‹ ์—๊ฒŒ๋Š” ํ•„์ˆ˜์ธ ์—ญ๋Ÿ‰์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ, ์ €๋Š” ๋‘˜ ๋ชจ๋‘์— ํ•ด๋‹นํ•˜๊ธฐ์— ํŠนํžˆ ๋” ์ค‘์š”ํ•˜๊ฒŒ ์—ฌ๊ธฐ๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.
  • 3) ์‹ค๋ ฅ : 1, 2 ๊ฐ€ ๋ง์–ธ์ด ๋˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ๋Š” ์‹ค๋ ฅ์„ ๊ฐ–์ถฐ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฒธ์†ํ•˜๊ธฐ๋งŒ ํ•œ ๊ฐœ๋ฐœ์ž๋Š” ๊ทธ๋ƒฅ ๋ณธ์ธ์ด ๋ชปํ•œ๋‹ค๋Š” ๊ฑธ ์•Œ๋ฆฌ๊ณ  ๋‹ค๋‹ˆ๋Š” ์‚ฌ๋žŒ์ด๊ณ  ์˜์ง€๋งŒ ์žˆ๋Š” ์‚ฌ๋žŒ์€ ๋…ธ๋ ฅํ•˜์ง€ ์•Š๋Š” ๊ฒŒ์œผ๋ฅธ ์‚ฌ๋žŒ์ด์ง€ ์•Š์„๊นŒ์š”.

4,5 ๋…„์ฐจ๊ฐ€ ๋˜๋ฉด ๊ด€์ ์ด ์กฐ๊ธˆ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค๋งŒ, ์œ„ ๋‚ด์šฉ์€ ์ œ๊ฐ€ ์ ์–ด๋„ 3-4๋…„ ๋™์•ˆ์€ ์œ ์ง€ํ•ด์•ผ ํ•  ์ž์„ธ๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ณผ์ œ๋Š” ์ด ์ž์„ธ๋ฅผ ๋˜์ƒˆ๊ธฐ๊ณ , ๋‹ค์‹œ๊ธˆ ๋งˆ์Œ์„ ์žก๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹จ๊ธฐ๊ฐ„์ด์—ˆ์ง€๋งŒ ์—ฌ๋Ÿฌ ๊ฐ€์ง€๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๊ธฐํšŒ๋ฅผ ๋งŒ๋“ค์–ด์ค€ ํŒ€์›๋“ค๊ณผ ํŒ€์žฅ๋‹˜์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฌ๊ณ , ์•ž์œผ๋กœ๋„ ๊ณ„์† ์„ฑ์žฅํ•˜๊ณ  ๋ฐœ์ „ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค ๐Ÿƒ๐Ÿปโ€โ™€๏ธ๐Ÿƒ๐Ÿปโ€โ™‚๏ธ

๋Œ“๊ธ€