# Resources as nouns, not verbs
# GOOD
GET /users # List users
GET /users/{id} # Get user
POST /users # Create user
PUT /users/{id} # Update user
DELETE /users/{id} # Delete user
# BAD
GET /get_users
POST /create_user
POST /delete_user
Status Codes
from fastapi import FastAPI, status
@app.post("/items/", status_code=status.HTTP_201_CREATED)
def create_item():
return {"item": "created"}
@app.delete("/items/{id}", status_code=status.HTTP_204_NO_CONTENT)
def delete_item(id: int):
return # No body for 204
✏️ Exercise: Design RESTful endpoints for a blog API (posts, comments, users). Implement the GET and POST endpoints using FastAPI decorators.