Skip to content

Merlinkim/FastAPI_learn

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

8 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

FastAPI_learn

ํ•ด๋‹น ๋ ˆํฌ๋Š” ์ €์˜ ํ•™์Šต์„ ์œ„ํ•œ ๋ ˆํฌ์ž…๋‹ˆ๋‹ค
๋˜ํ•œ ํ•ด๋‹น ๋ ˆํฌ๋ฅผ ํ†ตํ•ด์„œ fastapi์˜ ์ž‘๋™ ์›๋ฆฌ์™€ ๋ฐฉ์‹์„ ๋‹ค๋ฅธ ๋ถ„๋“ค์ด ์Šต๋“ํ•˜๊ณ  ์–ป์–ด๊ฐ€์‹ค์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. ์‹œ์ž‘

!explain.py ๋ ˆํฌ๋ฅผ ํ™•์ธํ•ด์ฃผ์„ธ์š”!

API application programming interface API๋Š” ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์†ŒํฌํŠธ์›จ์–ด๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ํ†ตํ•ฉํ•˜๊ธฐ ์œ„ํ•œ ์ •์˜ ๋ฐ ํ”„๋กœํ† ์ฝœ ์„ธํŠธ์ž…๋‹ˆ๋‹ค.

์•„์ง ๋ง์ด ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์กฐ๊ธˆ๋” ์‰ฝ๊ฒŒ ๋งํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํ•˜๋‚˜์˜ ์ œํ’ˆ์ด๋ผ๊ณ  ๋งํ• ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋นŒ๋“œํ•˜๊ณ  ํ†ตํ•ฉํ•œ๋‹ค๋Š” ๋ง์„ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ด€์ ์—์„œ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ํ”„๋ก ํŠธ์—”๋“œ์™€ ๋ฐฑ์—”๋“œ ์„œ๋ฒ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ๋Š” ์œ ์ €์—๊ฒŒ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•œ UI๋ฅผ ์ œ๊ณตํ•˜๊ณ  ๋™์  ํŽ˜์ด์ง€๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ๋Š” ํ”„๋ก ํŠธ์—์„œ ์ƒ์„ฑ๋˜๋Š” ์–ด๋– ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ RDBMS์— ์˜ฎ๊ธฐ๊ธฐ๋„ ํ˜น์€ ์–ด๋”˜๊ฐ€์— ์ €์žฅํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์„œ๋กœ ์–ด๋– ํ•œ ๋ฐฉ์‹์œผ๋กœ ํ†ต์‹ ํ• ๊นŒ ๋„ค ๋งž์Šต๋‹ˆ๋‹ค. API๋ฐฉ์‹์œผ๋กœ ํ†ต์‹ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์™„์ „ ๋งž๋‹ค๊ณ ๋Š” ํ•˜์ง€ ๋ชปํ•˜์ง€๋งŒ, API๋Š” ๋ฌด์–ธ๊ฐ€์—๊ฒŒ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ์ •๋ณด๋ฅผ ๋ฐ›๋Š” ์†Œํ”„ํŠธ์›จ์–ด๋ผ๊ณ  ๋งํ• ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค.

API๋ฅผ ์™œ ์จ์•ผํ•˜๋‚˜ API๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ตฌํ˜„๋ฐฉ์‹์„ ์•Œ์ง€๋ชปํ•˜๋Š” ์ œํ’ˆ ๋˜๋Š” ์„œ๋น„์Šค์™€ ํ†ต์‹ ํ• ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. API๊ตฌํ˜„์ฒด์— ๋Œ€ํ•œ ์ฝ”๋“œ ํ˜น์€ ๊ธฐ์ˆ ์  ์ดํ•ด๋ณด๋‹ค๋Š” API๊ฐ€ ์ฃผ๋Š” ๋ฐ์ดํ„ฐ์˜ ํ˜•ํƒœ ํ˜น์€ ์ค˜์•ผํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ํƒ€์ž…์„ ์•Œ์•„์•ผํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์ˆ ์ ์ดํ•ด๋ณด๋‹จ ๋” ์‰ฌ์šด ๊ฐœ๋…์ด์ฃ .

์ •๋ฆฌ

  1. API๋Š” ๋ฌด์–ธ๊ฐ€์™€ ํ†ต์‹ ํ•˜๊ธฐ ์œ„ํ•œ ํ•˜๋‚˜์˜ ๊ทœ์น™์ด๋‹ค.
  2. API๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋น„์šฉ์ ์ธ ๋ถ€๋ถ„์—์„œ ์ ˆ๊ฐํ• ์ˆ˜ ์žˆ๋‹ค.
  3. ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š”๋ฐ ์žˆ์–ด ๋ถ„์—…์„ ๋” ๋‚˜๋ˆ„์–ด ํ• ์ˆ˜ ์žˆ๋‹ค.
  4. ๊ตฌํ˜„์ฒด์— ๋Œ€ํ•œ ์ฝ”๋“œ ๊ณต๊ฐœ๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ ์•Œ์ง€ ๋ชปํ•ด๋„ ๋ฐ์ดํ„ฐ์˜ ์œ ํ˜•๊ณผ ํ˜•ํƒœ๋ฅผ ์•Œ๋ฉด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค.

API์˜ ์ข…๋ฅ˜

(์ ‘๊ทผ๋ฐฉ์‹์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜) 1.Private API ํ•ด๋‹น API๋Š” ์–ด๋– ํ•œ ๊ทธ๋ฃน ํ˜น์€ ๋‹จ์ฒด์—์„œ ๋‚ด๋ถ€ ์‚ฌ์šฉ์šฉ์œผ๋กœ ์ œ์ž‘๋œ API๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค.

  1. PUblic API Public API๋Š” ๋ง ๊ทธ๋ž˜๋Œ public,๊ฐœ๋ฐฉํ˜• API์ด๋‹ค. Public API์ค‘์—์„œ๋„ ์ ‘์†ํ•˜๋Š” ๋Œ€์ƒ์— ๋Œ€ํ•œ ์ œ์•ฝ์— ์—†๋Š” ๊ฒฝ์šฐ๋ฅผ OpenAPI๋ผ๊ณ  ํ•œ๋‹ค.

  2. Partner API ํŠน์ • ๋น„์ง€๋‹ˆ์Šค ํŒŒํŠธ๋„ˆ ๊ฐ„์˜ ๋ฐ์ดํ„ฐ ๊ณต์œ  API

(์•„ํ‚คํ…์ณ ์Šคํƒ€์ผ์— ๋”ฐ๋ฅธ API) 1.REST API 2.GraphQL 3.SOAP,RPC ํ•˜์ง€๋งŒ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ๊ฒƒ์€ REST API์ด๊ณ  GraphQL๊นŒ์ง€๋Š” ์“ฐ์ด๊ธดํ•˜์ง€๋งŒ ๋‚˜๋จธ์ง€ ์•„ํ‚คํ…์ฒ˜ ์Šคํƒ€์ผ์€ ์‚ฌ์‹ค์ƒ ์ž˜ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

  1. REST API ๊ฐ„๋‹จํ•˜๋‹ค REST๋ž€ ์•„ํ‚คํ…์ณ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” API์ด๋‹ค. REST๊ฐ€ ์•„ํ‚คํ…์ณ์ธ๊ฑฐ ์•Œ์•˜๊ณ  API๋Š” ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‹ค๋ฉด REST๋ผ๋Š” ์•„ํ‚คํ…์ฒ˜๋ง ๋˜์–ด ์žˆ๋Š” ํ†ต์‹  ๋ฐฉ๋ฒ•์ด๋‹ค.

    1. REST API ๊ธฐ๋ณธ CRUD method POST POST๋ฅผ ํ†ตํ•ด์„œ URL๋ฅผ ์š”์ฒญํ•˜๋ฉด ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑ -> Create GET GET๋ฅผ ํ†ตํ•ด ๋ฆฌ์†Œ์Šค๋ฅผ ์กฐํšŒ -> Read PUT PUT๋ฅผ ํ†ตํ•ด์„œ ๋ฆฌ์†Œ์Šค ์ˆ˜์ • -> Update DELETE ๋ฆฌ์†Œ์Šค ์‚ญ์ œ -> Delete

    2. GET and POST์˜ ์ฐจ์ด

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages