🥇 🔁¶
🙅 FastAPI 📁 💪 👀 💖 👉:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
📁 👈 📁 main.py.
🏃 🖖 💽:
$ uvicorn main:app --reload
<span style="color: green;">INFO</span>: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
<span style="color: green;">INFO</span>: Started reloader process [28720]
<span style="color: green;">INFO</span>: Started server process [28722]
<span style="color: green;">INFO</span>: Waiting for application startup.
<span style="color: green;">INFO</span>: Application startup complete.
Note
📋 uvicorn main:app 🔗:
main: 📁main.py(🐍 "🕹").app: 🎚 ✍ 🔘main.py⏮️ ⏸app = FastAPI().--reload: ⚒ 💽 ⏏ ⏮️ 📟 🔀. 🕴 ⚙️ 🛠️.
🔢, 📤 ⏸ ⏮️ 🕳 💖:
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
👈 ⏸ 🎦 📛 🌐❔ 👆 📱 ➖ 🍦, 👆 🇧🇿 🎰.
✅ ⚫️¶
📂 👆 🖥 http://127.0.0.1:8000.
👆 🔜 👀 🎻 📨:
{"message": "Hello World"}
🎓 🛠️ 🩺¶
🔜 🚶 http://127.0.0.1:8000/docs.
👆 🔜 👀 🏧 🎓 🛠️ 🧾 (🚚 🦁 🎚):

🎛 🛠️ 🩺¶
& 🔜, 🚶 http://127.0.0.1:8000/redoc.
👆 🔜 👀 🎛 🏧 🧾 (🚚 📄):

🗄¶
FastAPI 🏗 "🔗" ⏮️ 🌐 👆 🛠️ ⚙️ 🗄 🐩 ⚖ 🔗.
"🔗"¶
"🔗" 🔑 ⚖️ 📛 🕳. 🚫 📟 👈 🛠️ ⚫️, ✋️ 📝 📛.
🛠️ "🔗"¶
👉 💼, 🗄 🔧 👈 🤔 ❔ 🔬 🔗 👆 🛠️.
👉 🔗 🔑 🔌 👆 🛠️ ➡, 💪 🔢 👫 ✊, ♒️.
💽 "🔗"¶
⚖ "🔗" 💪 🔗 💠 💽, 💖 🎻 🎚.
👈 💼, ⚫️ 🔜 ⛓ 🎻 🔢, & 📊 🆎 👫 ✔️, ♒️.
🗄 & 🎻 🔗¶
🗄 🔬 🛠️ 🔗 👆 🛠️. & 👈 🔗 🔌 🔑 (⚖️ "🔗") 📊 📨 & 📨 👆 🛠️ ⚙️ 🎻 🔗, 🐩 🎻 📊 🔗.
✅ openapi.json¶
🚥 👆 😟 🔃 ❔ 🍣 🗄 🔗 👀 💖, FastAPI 🔁 🏗 🎻 (🔗) ⏮️ 📛 🌐 👆 🛠️.
👆 💪 👀 ⚫️ 🔗: http://127.0.0.1:8000/openapi.json.
⚫️ 🔜 🎦 🎻 ▶️ ⏮️ 🕳 💖:
{
"openapi": "3.0.2",
"info": {
"title": "FastAPI",
"version": "0.1.0"
},
"paths": {
"/items/": {
"get": {
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
...
⚫️❔ 🗄¶
🗄 🔗 ⚫️❔ 🏋️ 2️⃣ 🎓 🧾 ⚙️ 🔌.
& 📤 💯 🎛, 🌐 ⚓️ 🔛 🗄. 👆 💪 💪 🚮 🙆 📚 🎛 👆 🈸 🏗 ⏮️ FastAPI.
👆 💪 ⚙️ ⚫️ 🏗 📟 🔁, 👩💻 👈 🔗 ⏮️ 👆 🛠️. 🖼, 🕸, 📱 ⚖️ ☁ 🈸.
🌃, 🔁 🔁¶
🔁 1️⃣: 🗄 FastAPI¶
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
FastAPI 🐍 🎓 👈 🚚 🌐 🛠️ 👆 🛠️.
🔁 2️⃣: ✍ FastAPI "👐"¶
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
📥 app 🔢 🔜 "👐" 🎓 FastAPI.
👉 🔜 👑 ☝ 🔗 ✍ 🌐 👆 🛠️.
👉 app 🎏 1️⃣ 🔗 uvicorn 📋:
$ uvicorn main:app --reload
<span style="color: green;">INFO</span>: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
🚥 👆 ✍ 👆 📱 💖:
from fastapi import FastAPI
my_awesome_api = FastAPI()
@my_awesome_api.get("/")
async def root():
return {"message": "Hello World"}
& 🚮 ⚫️ 📁 main.py, ⤴️ 👆 🔜 🤙 uvicorn 💖:
$ uvicorn main:my_awesome_api --reload
<span style="color: green;">INFO</span>: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
🔁 3️⃣: ✍ ➡ 🛠️¶
➡¶
"➡" 📥 🔗 🏁 🍕 📛 ▶️ ⚪️➡️ 🥇 /.
, 📛 💖:
https://example.com/items/foo
...➡ 🔜:
/items/foo
Info
"➡" 🛎 🤙 "🔗" ⚖️ "🛣".
⏪ 🏗 🛠️, "➡" 👑 🌌 🎏 "⚠" & "ℹ".
🛠️¶
"🛠️" 📥 🔗 1️⃣ 🇺🇸🔍 "👩🔬".
1️⃣:
POSTGETPUTDELETE
...& 🌅 😍 🕐:
OPTIONSHEADPATCHTRACE
🇺🇸🔍 🛠️, 👆 💪 🔗 🔠 ➡ ⚙️ 1️⃣ (⚖️ 🌅) 👫 "👩🔬".
🕐❔ 🏗 🔗, 👆 🛎 ⚙️ 👫 🎯 🇺🇸🔍 👩🔬 🎭 🎯 🎯.
🛎 👆 ⚙️:
POST: ✍ 💽.GET: ✍ 💽.PUT: ℹ 💽.DELETE: ❎ 💽.
, 🗄, 🔠 🇺🇸🔍 👩🔬 🤙 "🛠️".
👥 🔜 🤙 👫 "🛠️" 💁♂️.
🔬 ➡ 🛠️ 👨🎨¶
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
@app.get("/") 💬 FastAPI 👈 🔢 ▶️️ 🔛 🈚 🚚 📨 👈 🚶:
- ➡
/ - ⚙️
get🛠️
@decorator ℹ
👈 @something ❕ 🐍 🤙 "👨🎨".
👆 🚮 ⚫️ 🔛 🔝 🔢. 💖 📶 📔 👒 (👤 💭 👈 🌐❔ ⚖ 👟 ⚪️➡️).
"👨🎨" ✊ 🔢 🔛 & 🔨 🕳 ⏮️ ⚫️.
👆 💼, 👉 👨🎨 💬 FastAPI 👈 🔢 🔛 🔗 ➡ / ⏮️ 🛠️ get.
⚫️ "➡ 🛠️ 👨🎨".
👆 💪 ⚙️ 🎏 🛠️:
@app.post()@app.put()@app.delete()
& 🌅 😍 🕐:
@app.options()@app.head()@app.patch()@app.trace()
Tip
👆 🆓 ⚙️ 🔠 🛠️ (🇺🇸🔍 👩🔬) 👆 🎋.
FastAPI 🚫 🛠️ 🙆 🎯 🔑.
ℹ 📥 🎁 📄, 🚫 📄.
🖼, 🕐❔ ⚙️ 🕹 👆 🛎 🎭 🌐 🎯 ⚙️ 🕴 POST 🛠️.
🔁 4️⃣: 🔬 ➡ 🛠️ 🔢¶
👉 👆 "➡ 🛠️ 🔢":
- ➡:
/. - 🛠️:
get. - 🔢: 🔢 🔛 "👨🎨" (🔛
@app.get("/")).
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
👉 🐍 🔢.
⚫️ 🔜 🤙 FastAPI 🕐❔ ⚫️ 📨 📨 📛 "/" ⚙️ GET 🛠️.
👉 💼, ⚫️ async 🔢.
👆 💪 🔬 ⚫️ 😐 🔢 ↩️ async def:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
return {"message": "Hello World"}
Note
🚥 👆 🚫 💭 🔺, ✅ 🔁: "🏃 ❓".
🔁 5️⃣: 📨 🎚¶
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
👆 💪 📨 dict, list, ⭐ 💲 str, int, ♒️.
👆 💪 📨 Pydantic 🏷 (👆 🔜 👀 🌅 🔃 👈 ⏪).
📤 📚 🎏 🎚 & 🏷 👈 🔜 🔁 🗜 🎻 (🔌 🐜, ♒️). 🔄 ⚙️ 👆 💕 🕐, ⚫️ 🏆 🎲 👈 👫 ⏪ 🐕🦺.
🌃¶
- 🗄
FastAPI. - ✍
app👐. - ✍ ➡ 🛠️ 👨🎨 (💖
@app.get("/")). - ✍ ➡ 🛠️ 🔢 (💖
def root(): ...🔛). - 🏃 🛠️ 💽 (💖
uvicorn main:app --reload).