Basic Header Parameters
from justapi import JustAPIApp, Header
app = JustAPIApp()
@app.get("/items/")
def read_items(x_token: str = Header(...)):
return {"x_token": x_token}
The header name X-Token is automatically converted to x_token (underscores).
Multiple Headers
@app.get("/users/")
def read_users(
x_token: str = Header(...),
x_request_id: str = Header(None),
):
return {"x_token": x_token, "x_request_id": x_request_id}
Required vs Optional
Header(...)— required (the...means "no default, required")Header(None)— optional, defaults toNoneHeader("default")— optional, defaults to"default"
Underscore Conversion
By default, JustAPI converts dashes to underscores in header names. To disable this:
@app.get("/items/")
def read_items(custom_header: str = Header(..., convert_underscores=False)):
return {"custom_header": custom_header}
Duplicate Headers
For headers that can repeat (like Set-Cookie):
@app.get("/items/")
def read_items(x_token_list: list[str] = Header(...)):
return {"x_token_list": x_token_list}
See Also
- Cookie Parameters — reading cookies
- Request Body — JSON request bodies