Returning a Response Object
For full control over the response, return a Response object:
from justapi import JSONResponse
from justapi import JustAPIApp
app = JustAPIApp()
@app.get("/custom")
def custom_response():
return JSONResponse(
content={"message": "custom response"},
status_code=202,
headers={"X-Custom-Header": "value"},
)
Response Classes
| Class | Use Case |
|---|---|
JSONResponse |
JSON response with custom headers |
HTMLResponse |
HTML content |
PlainTextResponse |
Plain text |
RedirectResponse |
Redirect to another URL |
StreamingResponse |
Streaming data |
FileResponse |
Serve a file |
Headers
Set custom headers on any response:
@app.get("/with-headers")
def with_headers():
return JSONResponse(
content={"data": "value"},
headers={"X-Request-Id": "abc-123", "Cache-Control": "no-cache"},
)
Redirect
from justapi import RedirectResponse
@app.get("/old-path")
def old_path():
return RedirectResponse(url="/new-path")
@app.get("/new-path")
def new_path():
return {"message": "you are here"}
See Also
- Custom Response Classes — HTML, stream, file responses
- Response Status Code — status codes
- Response Cookies & Headers — cookies and headers