Basic CRUD Example
This is the smallest practical example in the documentation.
Use it when you want to generate a complete CRUD API from a single model with no relationships.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 | from fastapi import FastAPI
import motor.motor_asyncio
from fastapi_crudrouter_mongodb import CRUDRouter, MongoModel, ObjectIdType
client = motor.motor_asyncio.AsyncIOMotorClient("mongodb://localhost:27017/local")
db = client.local
class UserModel(MongoModel):
id: ObjectIdType | None = None
name: str
email: str
users_router = CRUDRouter(
model=UserModel,
db=db,
collection_name="users",
prefix="/users",
tags=["users"],
)
app = FastAPI(title="Basic CRUD Example")
app.include_router(users_router)
|
Generated routes
This example gives you:
GET /users
POST /users
GET /users/{id}
PUT /users/{id}
PATCH /users/{id}
DELETE /users/{id}
Run it
uvicorn main:app --reload
Then open http://localhost:8000/docs.