← Back to Tutorials
19. Cookie Parameters
from fastapi import FastAPI, Cookie
from fastapi.responses import JSONResponse
app = FastAPI()
# Read cookies
@app.get("/items/")
def read_items(ads_id: str = Cookie(None)):
return {"ads_id": ads_id}
# Set cookies
@app.get("/set-cookie/")
def set_cookie():
response = JSONResponse({"message": "Cookie set"})
response.set_cookie(
key="my_cookie",
value="cookie_value",
max_age=3600,
httponly=True,
samesite="lax"
)
return response
# Delete cookies
@app.get("/delete-cookie/")
def delete_cookie():
response = JSONResponse({"message": "Cookie deleted"})
response.delete_cookie("my_cookie")
return response
# Multiple cookies
@app.get("/read-all-cookies/")
def read_all_cookies(
session_id: str = Cookie(None),
user_pref: str = Cookie(None)
):
return {"session_id": session_id, "user_pref": user_pref}
✏️ Exercise: Create an endpoint that reads a "visited" cookie. If not present, set it with current timestamp. Return the visit count based on cookie history.
← Previous Back to Index Next: Header Parameters →