FastAPI - ์ค์น
2023. 7. 31. 09:38ใ๊ฐ๋ฐ/Python
728x90
๋ฐ์ํ
๐ก ์ค๋น๋ฌผ - VM, Linux, (CentOS or Ubuntu)
Python3 ์ถ์ฒ : https://phsun102.tistory.com/62?category=891189,
https://chacha95.github.io/2021-01-16-python6/
์ค์น
์ค์น์ pip3 ์ค์น
- pip3 : Python3 ๋ฒ์ ํจํค์ง ๋งค๋์
- CentOS ๊ณ์ด
yum install python-pip3
- Ubuntu ๊ณ์ด
apt-get install python-pip3
์ฑ๊ณต์
- fastapi ์ค์น
pip3 install fastapi # FastAPI ์ฌ์ฉ์ ์ํ ์ค์น
์คํจ์
- pip ์ง์ ์ค์น
curl <https://bootstrap.pypa.io/pip/3.6/get-pip.py> -o get-pip.py
python3 get-pip.py
Uvicorn ์ค์น
- Uvicorn ์ค์น
pip3 install uvicorn # Python ์๋ฒ์คํ๊ธฐ
ํ ์คํธ
Python ์์ฑ
- python main.py ์์ค ์์ฑ
# main.py
from fastapi import FastAPI # FastAPI ๋ชจ๋ ๊ฐ์ ธ์ค๊ธฐ
app = FastAPI() # ๊ฐ์ฒด ์์ฑ
@app.get("/") # Route Path
def test_index():
# Json ํ์
์ผ๋ก ๊ฐ ๋ฐํ
return {
"Python": "Framework",
}
@app.get("/something")
def something():
return {
"Something": "Page",
}
- ๊ฐ๋จํ ํ
์คํธ ๋ก์ปฌ ํธ์คํธ๋ก ์ ๊ทผ์
- index ํ์ด์ง๋ก {"Python":"Framework"} ์ถ๋ ฅ
- /something ํ์ด์ง {"Something":"Page"} ์ถ๋ ฅ
Uvicorn ๋ช ๋ น์ด ์คํ
uvicorn main:app --reload --host 0.0.0.0 --port 8000 # 8000 ํฌํธ์ ์น์๋ฒ๋ฅผ ๊ฐ๋
- uvicorn : python ์๋ฒ ์คํ์ ์ํด ํ์ํ ๊ธฐ๋ณธ ๋ช ๋ น์ด
- main : ์คํํ ์ด๊ธฐ python ํ์ผ ์ด๋ฆ
- app : FastApi() ๋ชจ๋์ ํญ๋นํ ๊ฐ์ฒด๋ช
- reload : ์์ค ์ฝ๋๊ฐ ๋ณ๊ฒฝ๋์์๋ ์๋ ์ฌ์์ ์ต์
- host : ๋ชจ๋ ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํด 0.0.0.0
- port : ์น์๋ฒ ํฌํธ ํ ๋น
- ์คํ ๊ฒฐ๊ณผ
INFO: Will watch for changes in these directories: ['/home/haay/fastapi']
INFO: Uvicorn running on <http://127.0.0.1:8000> (Press CTRL+C to quit)
INFO: Started reloader process [19228] using statreload
INFO: Started server process [19230]
INFO: Waiting for application startup.
INFO: Application startup complete.
Web Server ์ ๊ทผ
curl localhost:8000 # index ํ์ด์ง ์ ๊ทผ
{"Python":"Framework"}
curl localhost:8000/something # something ํ์ด์ง ์ ๊ทผ
{"Something":"Page"}
API ๋ฌธ์ํ
Docs ๊ธฐ๋ฅ์ ์ง์ํ์ฌ ๋ฑ๋ก๋ API๋ฅผ ๋ฌธ์ํ๋ UI๋ก ํ์ธ์ด ๊ฐ๋ฅํ๋ค.
- ์ ์ ๋ฐฉ๋ฒ URL/docs ๋ฅผ ์ถ๊ฐํ๋ฉด ์ ๊ทผ ๊ฐ๋ฅ
728x90
๋ฐ์ํ
'๊ฐ๋ฐ > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
FastAPI - Redis ์ฐ๋ (0) | 2023.07.31 |
---|---|
FastAPI - DB ์ฐ๋ (0) | 2023.07.31 |
Python - Uvicorn (0) | 2023.07.31 |
Python - FastAPI (0) | 2023.07.31 |
Python Framework (0) | 2023.07.31 |