Skip to content

Return a Response Directly

For full control over the response, return a Response object:

from starlette.responses 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"},
)
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

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"},
)
from starlette.responses 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"}