<aside>

</aside>

μ•ˆλ…•ν•˜μ„Έμš”! FastAPI κ°•μ˜ 3번째 μ‹œκ°„μ— μ˜€μ‹  μ—¬λŸ¬λΆ„, ν™˜μ˜ν•©λ‹ˆλ‹€! πŸ˜„

μ§€λ‚œ 2κ°•μ—μ„œλŠ” 개발 ν™˜κ²½μ„ μ„€μ •ν•˜κ³ , 생애 첫 FastAPI μ• ν”Œλ¦¬μΌ€μ΄μ…˜μΈ "Hello World"λ₯Ό λ§Œλ“€μ–΄ μ‹€ν–‰ν•΄λ³΄μ•˜μ£ ? 그리고 λ§ˆλ²• 같은 μžλ™ λ¬Έμ„œ κΈ°λŠ₯도 ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€! ✨

이제 API의 기본적인 λΌˆλŒ€λ₯Ό λ§Œλ“œλŠ” 방법을 λ°°μ›Œλ³Ό μ°¨λ‘€μž…λ‹ˆλ‹€. 이번 μ‹œκ°„μ—λŠ” μ‚¬μš©μžμ˜ μš”μ²­μ„ λ°›μ•„μ„œ μ²˜λ¦¬ν•  **λ‹€μ–‘ν•œ 경둜(μ£Όμ†Œ)**λ₯Ό μ–΄λ–»κ²Œ λ§Œλ“€κ³ , **μ—¬λŸ¬ μ’…λ₯˜μ˜ μš”μ²­(HTTP λ©”μ„œλ“œ)**을 μ–΄λ–»κ²Œ λ‹€λ£¨λŠ”μ§€, 즉 **λΌμš°νŒ…(Routing)**의 κΈ°μ΄ˆμ— λŒ€ν•΄ μžμ„Ένžˆ μ•Œμ•„λ³Ό κ±°μ˜ˆμš”.

자, 그럼 μ‹œμž‘ν•΄λ³ΌκΉŒμš”? πŸš€


πŸ“š 챕터 μ†Œκ°œ

이번 3κ°•μ—μ„œλŠ” FastAPI μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ˜ 핡심 κΈ°λŠ₯ 쀑 ν•˜λ‚˜μΈ **λΌμš°νŒ…(Routing)**의 κΈ°λ³Έ 원리λ₯Ό λ°°μ›λ‹ˆλ‹€. λΌμš°νŒ…μ΄λž€ νŠΉμ • URL κ²½λ‘œμ™€ HTTP λ©”μ„œλ“œ μš”μ²­μ„ μ–΄λ–€ ν•¨μˆ˜κ°€ μ²˜λ¦¬ν• μ§€ μ—°κ²°ν•΄μ£ΌλŠ” 과정을 λ§ν•΄μš”. FastAPIμ—μ„œλŠ” 경둜 μž‘λ™ λ°μ½”λ ˆμ΄ν„° (@app.METHOD(PATH)) λ₯Ό μ‚¬μš©ν•˜μ—¬ 이 연결을 μ•„μ£Ό μ‰½κ²Œ μ„€μ •ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

μš°λ¦¬λŠ” λ‹€μ–‘ν•œ 경둜λ₯Ό μ •μ˜ν•˜κ³ , λŒ€ν‘œμ μΈ HTTP λ©”μ„œλ“œμΈ GET, POST, PUT, DELETE μš”μ²­μ„ 각각 μ²˜λ¦¬ν•˜λŠ” μ—”λ“œν¬μΈνŠΈ(API 경둜)λ₯Ό λ§Œλ“€μ–΄ λ³Ό κ±°μ˜ˆμš”. λ˜ν•œ, ν•¨μˆ˜μ—μ„œ λ°˜ν™˜λœ 값이 μ–΄λ–»κ²Œ μžλ™μœΌλ‘œ JSON μ‘λ‹΅μœΌλ‘œ λ³€ν™˜λ˜λŠ”μ§€ λ‹€μ‹œ ν•œλ²ˆ ν™•μΈν•˜κ³ , 라우트 μ •μ˜ μ‹œ μ£Όμ˜ν•  점(라우트 μˆœμ„œ)에 λŒ€ν•΄μ„œλ„ κ°„λž΅ν•˜κ²Œ μ•Œμ•„λ΄…λ‹ˆλ‹€.


🎯 챕터 λͺ©ν‘œ

이 κ°•μ˜λ₯Ό 마치면 μ—¬λŸ¬λΆ„μ€ λ‹€μŒμ„ ν•  수 있게 λ©λ‹ˆλ‹€:

  1. μ›Ή ν”„λ ˆμž„μ›Œν¬μ—μ„œ λΌμš°νŒ…μ˜ κ°œλ…μ„ μ„€λͺ…ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  2. FastAPI의 **경둜 μž‘λ™(Path Operation)**κ³Ό 경둜 μž‘λ™ λ°μ½”λ ˆμ΄ν„° (@app.METHOD(PATH)) λ₯Ό μ΄ν•΄ν•˜κ³  μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  3. λ‹€μ–‘ν•œ κ²½λ‘œμ— λŒ€ν•΄ API μ—”λ“œν¬μΈνŠΈλ₯Ό μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  4. GET, POST, PUT, DELETE λ“± μ£Όμš” HTTP λ©”μ„œλ“œλ₯Ό μ²˜λ¦¬ν•˜λŠ” 경둜 μž‘λ™ ν•¨μˆ˜λ₯Ό μž‘μ„±ν•  수 μžˆμŠ΅λ‹ˆλ‹€.
  5. 경둜 μž‘λ™ ν•¨μˆ˜κ°€ λ°˜ν™˜ν•˜λŠ” Python 데이터(dict, list λ“±)κ°€ μžλ™μœΌλ‘œ JSON μ‘λ‹΅μœΌλ‘œ λ³€ν™˜λ˜λŠ” 원리λ₯Ό μ΄ν•΄ν•©λ‹ˆλ‹€.
  6. 라우트 μ •μ˜ μˆœμ„œκ°€ μ€‘μš”ν•  수 μžˆμŒμ„ μΈμ§€ν•©λ‹ˆλ‹€. (심화 λ‚΄μš©μ€ μΆ”ν›„)