Module 3: HTTP Methods & CRUD Operations
Build a simulation database CRUD students record system. Learn GET, POST, PUT, DELETE operations, request payloads parsing, and raising HTTP status codes.
Day 5
FastAPI HTTP Methods & CRUD Operations
Why this matters
HTTP CRUD: REST maps resources to HTTP verbs — CRUD is how ML services expose create/read/update/delete.
REST maps resources to HTTP verbs. FastAPI uses decorators: @app.get, @app.post, etc.
- GET — read (safe, idempotent)
- POST — create
- PUT — replace
- DELETE — remove
from fastapi import FastAPI, HTTPException
app = FastAPI()
students = {}
@app.get("/students/{student_id}")
def get_student(student_id: int):
if student_id not in students:
raise HTTPException(status_code=404, detail="Not found")
return students[student_id]
@app.post("/students", status_code=201)
def create_student(student_id: int, name: str):
students[student_id] = {"id": student_id, "name": name}
return students[student_id]Common mistakes
- Blocking the event loop with heavy sync code in async routes.
- Returning wrong HTTP status codes (200 on validation failure).
- Shipping without request/response models for ML endpoints.
Interview checkpoints
- Q: Explain http crud in one minute. A: Definition + ML deployment angle.
- Q: One FastAPI pitfall? A: Validation, async blocking, or wrong status code.
Practice
- Basic: Define HTTP CRUD and give an example.
- Intermediate: Implement a minimal snippet for HTTP CRUD.
- Advanced: Break it and read the OpenAPI / error response.
Recap
- You can explain http crud clearly.
- You know one mistake to avoid.
- You see how this connects to the next lesson.
Next: Parameters
Day 6
Path vs. Query Parameters and Status Codes
Why this matters
Parameters: Path vs query parameters and correct status codes are interview staples and production requirements.
Path parameters identify a resource (/students/42). Query parameters filter or paginate (?limit=10).
200OK,201Created,404Not Found,422Validation Error- Return
HTTPExceptionfor explicit error bodies
Use Pydantic models instead of bare
int, name: str for maintainable APIs.Common mistakes
- Blocking the event loop with heavy sync code in async routes.
- Returning wrong HTTP status codes (200 on validation failure).
- Shipping without request/response models for ML endpoints.
Interview checkpoints
- Q: Explain parameters in one minute. A: Definition + ML deployment angle.
- Q: One FastAPI pitfall? A: Validation, async blocking, or wrong status code.
Practice
- Basic: Define Parameters and give an example.
- Intermediate: Implement a minimal snippet for Parameters.
- Advanced: Break it and read the OpenAPI / error response.
Recap
- You can explain parameters clearly.
- You know one mistake to avoid.
- You see how this connects to the next lesson.
Next: ML Pipeline
