FastAPI が高性能で効率的な API 開発に最適な理由 | フェリックス ゴメス | | 2023年1月

開発の可能性を最大化: FastAPI の速度、使いやすさ、および高度な機能の活用

UnsplashのAustin Chanによる写真

すべての検証は、確立された堅牢な技術者によって処理されます。 ピダンティックパッケージ

from fastapi import FastAPI

app = FastAPI()

@app.post("/users/")
def create_user(name: str, age: int):
return {"name": name, "age": age}

Postman から /users エンドポイントにアクセスします
from fastapi import FastAPI

app = FastAPI()

@app.post("/users/")
def create_user(name: str, age: int):
"""
Create a new user.

- **name**: The name of the user.
- **age**: The age of the user.
"""
return {"name": name, "age": age}

インタラクティブな自動ドキュメントから /users エンドポイントにアクセスします
from fastapi import FastAPI
import aiohttp

app = FastAPI()

@app.get("/catfact")
async def get_random_cat_fact():
async with aiohttp.ClientSession(connector=aiohttp.TCPConnector(verify_ssl=False)) as session:
async with session.get(f"https://catfact.ninja/fact") as response:
data = await response.json()
return data

async/await を使用して外部 API からランダムな猫の事実を取得する
from fastapi import FastAPI
from sqlalchemy.orm import Session
from sqlalchemy import Column, String, Integer
from sqlalchemy.ext.declarative import declarative_base

app = FastAPI()
Base = declarative_base()

class Item(Base):
__tablename__ = "items"
id = Column(Integer, primary_key=True, index=True)
name = Column(String, index=True)
description = Column(String)

@app.post("/items/")
def create_item(item: Item, db: Session = Depends(get_db)):
db.add(item)
db.commit()
db.refresh(item)
return item

from fastapi import FastAPI
from motor.motor_asyncio import AsyncIOMotorClient

app = FastAPI()

@app.get("/items/{item_id}")
async def read_item(item_id: str, client: AsyncIOMotorClient = Depends(get_client)):
db = client.db
item_collection = db["items"]
item = await item_collection.find_one({"_id": item_id

from fastapi import FastAPI, Depends
from sqlalchemy.orm import Session

app = FastAPI()

def get_db():
return ... # create a connection to the database

@app.post("/items/")
def create_item(item: Item, db: Session = Depends(get_db)):
db.add(item)
db.commit()
db.refresh(item)
return item

高い成果は、常に高い期待の枠組みの中で生まれます — チャールズ・ケタリング

Leave a Comment

Your email address will not be published. Required fields are marked *