Custom Response Classes - File, HTML, Redirect, Streaming, etc.¶
There are several custom response classes you can use to create an instance and return them directly from yourpath operations.
Read more about it in theFastAPI docs for Custom Response - HTML, Stream, File, others.
You can import them directly fromfastapi.responses:
fromfastapi.responsesimport(FileResponse,HTMLResponse,JSONResponse,ORJSONResponse,PlainTextResponse,RedirectResponse,Response,StreamingResponse,UJSONResponse,)FastAPI Responses¶
There are a couple of custom FastAPI response classes, you can use them to optimize JSON performance.
fastapi.responses.UJSONResponse¶
UJSONResponse(content,status_code=200,headers=None,media_type=None,background=None,) Bases:JSONResponse
JSON response using the high-performance ujson library to serialize data to JSON.
Read more about it in theFastAPI docs for Custom Response - HTML, Stream, File, others.
Source code instarlette/responses.py
181182183184185186187188189 | |
charsetclass-attributeinstance-attribute¶
charset='utf-8'status_codeinstance-attribute¶
status_code=status_codemedia_typeclass-attributeinstance-attribute¶
media_type='application/json'bodyinstance-attribute¶
body=render(content)backgroundinstance-attribute¶
background=backgroundheadersproperty¶
headersrender¶
render(content)Source code infastapi/responses.py
313233 | |
init_headers¶
init_headers(headers=None)Source code instarlette/responses.py
565758596061626364656667686970717273747576777879808182 | |
set_cookie¶
set_cookie(key,value="",max_age=None,expires=None,path="/",domain=None,secure=False,httponly=False,samesite="lax",partitioned=False,)Source code instarlette/responses.py
90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | |
delete_cookie¶
delete_cookie(key,path="/",domain=None,secure=False,httponly=False,samesite="lax",)Source code instarlette/responses.py
135136137138139140141142143144145146147148149150151152153 | |
fastapi.responses.ORJSONResponse¶
ORJSONResponse(content,status_code=200,headers=None,media_type=None,background=None,) Bases:JSONResponse
JSON response using the high-performance orjson library to serialize data to JSON.
Read more about it in theFastAPI docs for Custom Response - HTML, Stream, File, others.
Source code instarlette/responses.py
181182183184185186187188189 | |
charsetclass-attributeinstance-attribute¶
charset='utf-8'status_codeinstance-attribute¶
status_code=status_codemedia_typeclass-attributeinstance-attribute¶
media_type='application/json'bodyinstance-attribute¶
body=render(content)backgroundinstance-attribute¶
background=backgroundheadersproperty¶
headersrender¶
render(content)Source code infastapi/responses.py
4445464748 | |
init_headers¶
init_headers(headers=None)Source code instarlette/responses.py
565758596061626364656667686970717273747576777879808182 | |
set_cookie¶
set_cookie(key,value="",max_age=None,expires=None,path="/",domain=None,secure=False,httponly=False,samesite="lax",partitioned=False,)Source code instarlette/responses.py
90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | |
delete_cookie¶
delete_cookie(key,path="/",domain=None,secure=False,httponly=False,samesite="lax",)Source code instarlette/responses.py
135136137138139140141142143144145146147148149150151152153 | |
Starlette Responses¶
You can read more about all of them in theFastAPI docs for Custom Response and in theStarlette docs about Responses.
fastapi.responses.FileResponse¶
FileResponse(path,status_code=200,headers=None,media_type=None,background=None,filename=None,stat_result=None,method=None,content_disposition_type="attachment",) Bases:Response
Source code instarlette/responses.py
296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331 | |
chunk_sizeclass-attributeinstance-attribute¶
chunk_size=64*1024charsetclass-attributeinstance-attribute¶
charset='utf-8'status_codeinstance-attribute¶
status_code=status_codemedia_typeinstance-attribute¶
media_type=media_typebodyinstance-attribute¶
body=render(content)backgroundinstance-attribute¶
background=backgroundheadersproperty¶
headersrender¶
render(content)Source code instarlette/responses.py
495051525354 | |
init_headers¶
init_headers(headers=None)Source code instarlette/responses.py
565758596061626364656667686970717273747576777879808182 | |
set_cookie¶
set_cookie(key,value="",max_age=None,expires=None,path="/",domain=None,secure=False,httponly=False,samesite="lax",partitioned=False,)Source code instarlette/responses.py
90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | |
delete_cookie¶
delete_cookie(key,path="/",domain=None,secure=False,httponly=False,samesite="lax",)Source code instarlette/responses.py
135136137138139140141142143144145146147148149150151152153 | |
fastapi.responses.HTMLResponse¶
HTMLResponse(content=None,status_code=200,headers=None,media_type=None,background=None,) Bases:Response
Source code instarlette/responses.py
3435363738394041424344454647 | |
charsetclass-attributeinstance-attribute¶
charset='utf-8'status_codeinstance-attribute¶
status_code=status_codemedia_typeclass-attributeinstance-attribute¶
media_type='text/html'bodyinstance-attribute¶
body=render(content)backgroundinstance-attribute¶
background=backgroundheadersproperty¶
headersrender¶
render(content)Source code instarlette/responses.py
495051525354 | |
init_headers¶
init_headers(headers=None)Source code instarlette/responses.py
565758596061626364656667686970717273747576777879808182 | |
set_cookie¶
set_cookie(key,value="",max_age=None,expires=None,path="/",domain=None,secure=False,httponly=False,samesite="lax",partitioned=False,)Source code instarlette/responses.py
90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | |
delete_cookie¶
delete_cookie(key,path="/",domain=None,secure=False,httponly=False,samesite="lax",)Source code instarlette/responses.py
135136137138139140141142143144145146147148149150151152153 | |
fastapi.responses.JSONResponse¶
JSONResponse(content,status_code=200,headers=None,media_type=None,background=None,) Bases:Response
Source code instarlette/responses.py
181182183184185186187188189 | |
charsetclass-attributeinstance-attribute¶
charset='utf-8'status_codeinstance-attribute¶
status_code=status_codemedia_typeclass-attributeinstance-attribute¶
media_type='application/json'bodyinstance-attribute¶
body=render(content)backgroundinstance-attribute¶
background=backgroundheadersproperty¶
headersrender¶
render(content)Source code instarlette/responses.py
191192193194195196197198 | |
init_headers¶
init_headers(headers=None)Source code instarlette/responses.py
565758596061626364656667686970717273747576777879808182 | |
set_cookie¶
set_cookie(key,value="",max_age=None,expires=None,path="/",domain=None,secure=False,httponly=False,samesite="lax",partitioned=False,)Source code instarlette/responses.py
90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | |
delete_cookie¶
delete_cookie(key,path="/",domain=None,secure=False,httponly=False,samesite="lax",)Source code instarlette/responses.py
135136137138139140141142143144145146147148149150151152153 | |
fastapi.responses.PlainTextResponse¶
PlainTextResponse(content=None,status_code=200,headers=None,media_type=None,background=None,) Bases:Response
Source code instarlette/responses.py
3435363738394041424344454647 | |
charsetclass-attributeinstance-attribute¶
charset='utf-8'status_codeinstance-attribute¶
status_code=status_codemedia_typeclass-attributeinstance-attribute¶
media_type='text/plain'bodyinstance-attribute¶
body=render(content)backgroundinstance-attribute¶
background=backgroundheadersproperty¶
headersrender¶
render(content)Source code instarlette/responses.py
495051525354 | |
init_headers¶
init_headers(headers=None)Source code instarlette/responses.py
565758596061626364656667686970717273747576777879808182 | |
set_cookie¶
set_cookie(key,value="",max_age=None,expires=None,path="/",domain=None,secure=False,httponly=False,samesite="lax",partitioned=False,)Source code instarlette/responses.py
90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | |
delete_cookie¶
delete_cookie(key,path="/",domain=None,secure=False,httponly=False,samesite="lax",)Source code instarlette/responses.py
135136137138139140141142143144145146147148149150151152153 | |
fastapi.responses.RedirectResponse¶
RedirectResponse(url,status_code=307,headers=None,background=None) Bases:Response
Source code instarlette/responses.py
202203204205206207208209210 | |
charsetclass-attributeinstance-attribute¶
charset='utf-8'status_codeinstance-attribute¶
status_code=status_codemedia_typeclass-attributeinstance-attribute¶
media_type=Nonebodyinstance-attribute¶
body=render(content)backgroundinstance-attribute¶
background=backgroundheadersproperty¶
headersrender¶
render(content)Source code instarlette/responses.py
495051525354 | |
init_headers¶
init_headers(headers=None)Source code instarlette/responses.py
565758596061626364656667686970717273747576777879808182 | |
set_cookie¶
set_cookie(key,value="",max_age=None,expires=None,path="/",domain=None,secure=False,httponly=False,samesite="lax",partitioned=False,)Source code instarlette/responses.py
90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | |
delete_cookie¶
delete_cookie(key,path="/",domain=None,secure=False,httponly=False,samesite="lax",)Source code instarlette/responses.py
135136137138139140141142143144145146147148149150151152153 | |
fastapi.responses.Response¶
Response(content=None,status_code=200,headers=None,media_type=None,background=None,)Source code instarlette/responses.py
3435363738394041424344454647 | |
charsetclass-attributeinstance-attribute¶
charset='utf-8'status_codeinstance-attribute¶
status_code=status_codemedia_typeclass-attributeinstance-attribute¶
media_type=Nonebodyinstance-attribute¶
body=render(content)backgroundinstance-attribute¶
background=backgroundheadersproperty¶
headersrender¶
render(content)Source code instarlette/responses.py
495051525354 | |
init_headers¶
init_headers(headers=None)Source code instarlette/responses.py
565758596061626364656667686970717273747576777879808182 | |
set_cookie¶
set_cookie(key,value="",max_age=None,expires=None,path="/",domain=None,secure=False,httponly=False,samesite="lax",partitioned=False,)Source code instarlette/responses.py
90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | |
delete_cookie¶
delete_cookie(key,path="/",domain=None,secure=False,httponly=False,samesite="lax",)Source code instarlette/responses.py
135136137138139140141142143144145146147148149150151152153 | |
fastapi.responses.StreamingResponse¶
StreamingResponse(content,status_code=200,headers=None,media_type=None,background=None,) Bases:Response
Source code instarlette/responses.py
222223224225226227228229230231232233234235236237 | |
body_iteratorinstance-attribute¶
body_iteratorcharsetclass-attributeinstance-attribute¶
charset='utf-8'status_codeinstance-attribute¶
status_code=status_codemedia_typeinstance-attribute¶
media_type=(media_typeifmedia_typeisNoneelsemedia_type)bodyinstance-attribute¶
body=render(content)backgroundinstance-attribute¶
background=backgroundheadersproperty¶
headersrender¶
render(content)Source code instarlette/responses.py
495051525354 | |
init_headers¶
init_headers(headers=None)Source code instarlette/responses.py
565758596061626364656667686970717273747576777879808182 | |
set_cookie¶
set_cookie(key,value="",max_age=None,expires=None,path="/",domain=None,secure=False,httponly=False,samesite="lax",partitioned=False,)Source code instarlette/responses.py
90 91 92 93 94 95 96 97 98 99100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | |
delete_cookie¶
delete_cookie(key,path="/",domain=None,secure=False,httponly=False,samesite="lax",)Source code instarlette/responses.py
135136137138139140141142143144145146147148149150151152153 | |







