Fast API์ ๋ํ์ฌ
Fast API๋ ๋ฌด์์ธ๊ฐ์ ๋ํ ๊ธ์ ๋๋ค.
์ด๋ฒ์ Python ๊ธฐ๋ฐ ์น API ๊ฐ๋ฐ์ ์ฌ์ฉ๋๋ ํ๋ ์ ์ํฌ์ธ Fast API์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์์๋ณด๊ธฐ ์ ์ Python์ผ๋ก ์๋ฒ๋ฅผ ๊ฐ๋ฐํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ธ์ง ๊ถ๊ธํ์ฌ ์์๋ณด์์ต๋๋ค. ์ ๊ฐ ์๋ ์๋ฒ ๊ฐ๋ฐ์๋ค์ Java๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ Spring์ ์ฃผ๋ก ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์น ๊ฐ๋ฐ์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ์์ 5๊ฐ ์ธ์ด
2021๋ Stack Overflow์ ๊ฐ๋ฐ์ ์ค๋ฌธ์กฐ์ฌ ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ์ค์ผ๋ก, ๊ทธ์ ๋ฐ๋ฅธ ์ ์ ์จ
- JavaScript: 67.8%
- HTML/CSS: 63.1%
- SQL: 56.5%
- Python: 50.7%
- Java: 39.7%
์ ์์์ ์ ์ ์จ์ ๊ฐ๋ฐ์๋ค์ด ์น ๊ฐ๋ฐ์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ์ธ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก ํ ๊ฒ์ ๋๋ค. ์ฃผ์ํ ์ ์ ๊ฐ ์ธ์ด์ ์ ์ ์จ์ ํฉ์ด 100%๊ฐ ์๋๋ฉฐ, ์ฌ๋ฌ ์ธ์ด๋ฅผ ํผํฉํด์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ๊ฒน์น๋ ๋ถ๋ถ์ด ์์ ์ ์์ต๋๋ค.
์ด์ฒ๋ผ Python์ผ๋ก ์น ๊ฐ๋ฐ์ ํ๋ ์ฌ๋์ Java ์ฌ์ฉ์๋ณด๋ค ๋ง์์ ๋จํธ์ ์ผ๋ก ์ ์ ์์์ต๋๋ค!
๊ทธ๋ผ ์ด์ ๋ง์ ์ฌ๋์ด Python์ ์ฌ์ฉํ๋ ๊ฒ์ ์์์ผ๋ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์น ํ๋ ์์ํฌ Fast API์ ๋ํด ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
Fast API ๊ฐ๋
FastAPI๋ ํ๋์ ์ธ Python ์น ๊ฐ๋ฐ์ ์ํด ์ค๊ณ๋์์ผ๋ฉฐ, ํ์ ํํธ(Type Hints)์ ๊ฐ์ Python 3.6 ์ด์์ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ํจ์จ์ ์ธ ๊ฐ๋ฐ์ ํ ์ ์์ต๋๋ค. ํ์ ํํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ์ฝ๋๋ฅผ ๋ ๋ช ํํ๊ฒ ์์ฑํ ์ ์๊ณ , IDE์ ์๋์์ฑ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๋ ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
ํน์ง
FastAPI๋ Python ๊ธฐ๋ฐ์ ์น ํ๋ ์์ํฌ๋ก, ๋น ๋ฅธ ์๋์ ๊ฐํธํ ๊ฐ๋ฐ ๊ฒฝํ์ ์ ๊ณตํ๋ ๊ฒ์ด ํน์ง์ ๋๋ค. ๋ํ, FastAPI๋ Swagger์ ๊ฐ์ API ๋ฌธ์ ์๋ ์์ฑ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ API์ ์ฌ์ฉ ๋ฐฉ๋ฒ๊ณผ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฝ๊ฒ ํ์ธํ ์ ์๊ณ , Pydantic ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์ ํจ์ฑ ๊ฒ์ฌ์ ์ง๋ ฌํ ๋ฑ์ ์์ ์ ํธ๋ฆฌํ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.