Personal Website
Python

Python FastAPI CRUD Endpoint

Python FastAPI CRUD Endpoint

Python
#python #fastapi #crud #api

Contoh CRUD endpoint dengan FastAPI, Pydantic model, dan dependency injection.

from fastapi import FastAPI, HTTPException, Depends
from pydantic import BaseModel
from typing import Optional
from datetime import datetime

app = FastAPI()

# In-memory store (replace with database)
db: dict[int, dict] = {}
counter = 0

class ItemCreate(BaseModel):
    title: str
    description: Optional[str] = None
    price: float

class ItemResponse(ItemCreate):
    id: int
    created_at: datetime

@app.post("/items", response_model=ItemResponse, status_code=201)
def create_item(item: ItemCreate):
    global counter
    counter += 1
    record = {**item.dict(), "id": counter, "created_at": datetime.now()}
    db[counter] = record
    return record

@app.get("/items")
def list_items(skip: int = 0, limit: int = 20):
    items = list(db.values())
    return {"items": items[skip:skip+limit], "total": len(items)}

@app.get("/items/{item_id}", response_model=ItemResponse)
def get_item(item_id: int):
    if item_id not in db:
        raise HTTPException(status_code=404, detail="Item not found")
    return db[item_id]

@app.delete("/items/{item_id}", status_code=204)
def delete_item(item_id: int):
    if item_id not in db:
        raise HTTPException(status_code=404, detail="Item not found")
    del db[item_id]
168 views 27 copies 1 hari yang lalu
Chat via WhatsApp
Tidak ada lagu