Custom Response Classes - File, HTML, Redirect, Streaming, etc.(自訂回應類別 - 檔案、HTML、重定向、串流等)¶
您可以使用多個自訂回應類別來建立實例,並直接從您的*路徑操作*傳回它們。
在FastAPI 自訂回應文件 - HTML、串流、檔案等中了解更多相關資訊。
您可以直接從 fastapi.responses
導入它們。
from fastapi.responses import (
FileResponse,
HTMLResponse,
JSONResponse,
ORJSONResponse,
PlainTextResponse,
RedirectResponse,
Response,
StreamingResponse,
UJSONResponse,
)
FastAPI 回應¶
有一些自訂的 FastAPI 回應類別,您可以使用它們來最佳化 JSON 效能。
fastapi.responses.UJSONResponse ¶
UJSONResponse(
content,
status_code=200,
headers=None,
media_type=None,
background=None,
)
基底:JSONResponse
使用高效能 ujson 函式庫將資料序列化為 JSON 的 JSON 回應。
在FastAPI 自訂回應文件 - HTML、串流、檔案等中了解更多相關資訊。
參數 | 說明 |
---|---|
content(內容)
|
類型: |
status_code(狀態碼)
|
類型: |
headers(標頭)
|
類型: |
media_type(媒體類型)
|
類型: |
background(背景)
|
類型: |
原始程式碼位於 starlette/responses.py
170 171 172 173 174 175 176 177 178 |
|
render ¶
render(content)
參數 | 說明 |
---|---|
content(內容)
|
類型: |
原始碼位於 fastapi/responses.py
31 32 33 |
|
init_headers ¶
init_headers(headers=None)
參數 | 說明 |
---|---|
headers(標頭)
|
類型: |
原始程式碼位於 starlette/responses.py
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
set_cookie ¶
set_cookie(
key,
value="",
max_age=None,
expires=None,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
數值 (value)
|
類型: |
最大存活時間 (max_age)
|
類型: |
到期時間 (expires)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
delete_cookie ¶
delete_cookie(
key,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
|
fastapi.responses.ORJSONResponse ¶
ORJSONResponse(
content,
status_code=200,
headers=None,
media_type=None,
background=None,
)
基底:JSONResponse
使用高效能 orjson 函式庫將資料序列化為 JSON 的 JSON 回應。
在FastAPI 自訂回應文件 - HTML、串流、檔案等中了解更多相關資訊。
參數 | 說明 |
---|---|
content(內容)
|
類型: |
status_code(狀態碼)
|
類型: |
headers(標頭)
|
類型: |
media_type(媒體類型)
|
類型: |
background(背景)
|
類型: |
原始程式碼位於 starlette/responses.py
170 171 172 173 174 175 176 177 178 |
|
render ¶
render(content)
參數 | 說明 |
---|---|
content(內容)
|
類型: |
原始碼位於 fastapi/responses.py
44 45 46 47 48 |
|
init_headers ¶
init_headers(headers=None)
參數 | 說明 |
---|---|
headers(標頭)
|
類型: |
原始程式碼位於 starlette/responses.py
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
set_cookie ¶
set_cookie(
key,
value="",
max_age=None,
expires=None,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
數值 (value)
|
類型: |
最大存活時間 (max_age)
|
類型: |
到期時間 (expires)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
delete_cookie ¶
delete_cookie(
key,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
|
Starlette 回應¶
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",
)
基底類別: Response
參數 | 說明 |
---|---|
路徑 (path)
|
類型: |
status_code(狀態碼)
|
類型: |
headers(標頭)
|
類型: |
media_type(媒體類型)
|
類型: |
background(背景)
|
類型: |
filename(檔案名稱)
|
類型: |
stat_result(檔案狀態結果)
|
類型: |
method(方法)
|
類型: |
content_disposition_type(內容配置類型)
|
類型: |
原始程式碼位於 starlette/responses.py
266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 |
|
render ¶
render(content)
參數 | 說明 |
---|---|
content(內容)
|
類型: |
原始程式碼位於 starlette/responses.py
44 45 46 47 48 49 |
|
init_headers ¶
init_headers(headers=None)
參數 | 說明 |
---|---|
headers(標頭)
|
類型: |
原始程式碼位於 starlette/responses.py
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
set_cookie ¶
set_cookie(
key,
value="",
max_age=None,
expires=None,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
數值 (value)
|
類型: |
最大存活時間 (max_age)
|
類型: |
到期時間 (expires)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
delete_cookie ¶
delete_cookie(
key,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
|
fastapi.responses.HTMLResponse ¶
HTMLResponse(
content=None,
status_code=200,
headers=None,
media_type=None,
background=None,
)
基底類別: Response
參數 | 說明 |
---|---|
content(內容)
|
類型: |
status_code(狀態碼)
|
類型: |
headers(標頭)
|
類型: |
media_type(媒體類型)
|
類型: |
background(背景)
|
類型: |
原始程式碼位於 starlette/responses.py
29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
render ¶
render(content)
參數 | 說明 |
---|---|
content(內容)
|
類型: |
原始程式碼位於 starlette/responses.py
44 45 46 47 48 49 |
|
init_headers ¶
init_headers(headers=None)
參數 | 說明 |
---|---|
headers(標頭)
|
類型: |
原始程式碼位於 starlette/responses.py
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
set_cookie ¶
set_cookie(
key,
value="",
max_age=None,
expires=None,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
數值 (value)
|
類型: |
最大存活時間 (max_age)
|
類型: |
到期時間 (expires)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
delete_cookie ¶
delete_cookie(
key,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
|
fastapi.responses.JSONResponse ¶
JSONResponse(
content,
status_code=200,
headers=None,
media_type=None,
background=None,
)
基底類別: Response
參數 | 說明 |
---|---|
content(內容)
|
類型: |
status_code(狀態碼)
|
類型: |
headers(標頭)
|
類型: |
media_type(媒體類型)
|
類型: |
background(背景)
|
類型: |
原始程式碼位於 starlette/responses.py
170 171 172 173 174 175 176 177 178 |
|
render ¶
render(content)
參數 | 說明 |
---|---|
content(內容)
|
類型: |
原始程式碼位於 starlette/responses.py
180 181 182 183 184 185 186 187 |
|
init_headers ¶
init_headers(headers=None)
參數 | 說明 |
---|---|
headers(標頭)
|
類型: |
原始程式碼位於 starlette/responses.py
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
set_cookie ¶
set_cookie(
key,
value="",
max_age=None,
expires=None,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
數值 (value)
|
類型: |
最大存活時間 (max_age)
|
類型: |
到期時間 (expires)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
delete_cookie ¶
delete_cookie(
key,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
|
fastapi.responses.PlainTextResponse ¶
PlainTextResponse(
content=None,
status_code=200,
headers=None,
media_type=None,
background=None,
)
基底類別: Response
參數 | 說明 |
---|---|
content(內容)
|
類型: |
status_code(狀態碼)
|
類型: |
headers(標頭)
|
類型: |
media_type(媒體類型)
|
類型: |
background(背景)
|
類型: |
原始程式碼位於 starlette/responses.py
29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
render ¶
render(content)
參數 | 說明 |
---|---|
content(內容)
|
類型: |
原始程式碼位於 starlette/responses.py
44 45 46 47 48 49 |
|
init_headers ¶
init_headers(headers=None)
參數 | 說明 |
---|---|
headers(標頭)
|
類型: |
原始程式碼位於 starlette/responses.py
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
set_cookie ¶
set_cookie(
key,
value="",
max_age=None,
expires=None,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
數值 (value)
|
類型: |
最大存活時間 (max_age)
|
類型: |
到期時間 (expires)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
delete_cookie ¶
delete_cookie(
key,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
|
fastapi.responses.RedirectResponse ¶
RedirectResponse(
url, status_code=307, headers=None, background=None
)
基底類別: Response
參數 | 說明 |
---|---|
url
|
類型: |
status_code(狀態碼)
|
類型: |
headers(標頭)
|
類型: |
background(背景)
|
類型: |
原始程式碼位於 starlette/responses.py
191 192 193 194 195 196 197 198 199 |
|
render ¶
render(content)
參數 | 說明 |
---|---|
content(內容)
|
類型: |
原始程式碼位於 starlette/responses.py
44 45 46 47 48 49 |
|
init_headers ¶
init_headers(headers=None)
參數 | 說明 |
---|---|
headers(標頭)
|
類型: |
原始程式碼位於 starlette/responses.py
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
set_cookie ¶
set_cookie(
key,
value="",
max_age=None,
expires=None,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
數值 (value)
|
類型: |
最大存活時間 (max_age)
|
類型: |
到期時間 (expires)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
delete_cookie ¶
delete_cookie(
key,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
|
fastapi.responses.Response ¶
Response(
content=None,
status_code=200,
headers=None,
media_type=None,
background=None,
)
參數 | 說明 |
---|---|
content(內容)
|
類型: |
status_code(狀態碼)
|
類型: |
headers(標頭)
|
類型: |
media_type(媒體類型)
|
類型: |
background(背景)
|
類型: |
原始程式碼位於 starlette/responses.py
29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
|
render ¶
render(content)
參數 | 說明 |
---|---|
content(內容)
|
類型: |
原始程式碼位於 starlette/responses.py
44 45 46 47 48 49 |
|
init_headers ¶
init_headers(headers=None)
參數 | 說明 |
---|---|
headers(標頭)
|
類型: |
原始程式碼位於 starlette/responses.py
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
set_cookie ¶
set_cookie(
key,
value="",
max_age=None,
expires=None,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
數值 (value)
|
類型: |
最大存活時間 (max_age)
|
類型: |
到期時間 (expires)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
delete_cookie ¶
delete_cookie(
key,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
|
fastapi.responses.StreamingResponse ¶
StreamingResponse(
content,
status_code=200,
headers=None,
media_type=None,
background=None,
)
基底類別: Response
參數 | 說明 |
---|---|
content(內容)
|
類型: |
status_code(狀態碼)
|
類型: |
headers(標頭)
|
類型: |
media_type(媒體類型)
|
類型: |
background(背景)
|
類型: |
原始程式碼位於 starlette/responses.py
211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 |
|
render ¶
render(content)
參數 | 說明 |
---|---|
content(內容)
|
類型: |
原始程式碼位於 starlette/responses.py
44 45 46 47 48 49 |
|
init_headers ¶
init_headers(headers=None)
參數 | 說明 |
---|---|
headers(標頭)
|
類型: |
原始程式碼位於 starlette/responses.py
51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
|
set_cookie ¶
set_cookie(
key,
value="",
max_age=None,
expires=None,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
數值 (value)
|
類型: |
最大存活時間 (max_age)
|
類型: |
到期時間 (expires)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
delete_cookie ¶
delete_cookie(
key,
path="/",
domain=None,
secure=False,
httponly=False,
samesite="lax",
)
參數 | 說明 |
---|---|
鍵值 (key)
|
類型: |
路徑 (path)
|
類型: |
網域 (domain)
|
類型: |
安全連線 (secure)
|
類型: |
僅限 HTTP (httponly)
|
類型: |
SameSite 屬性 (samesite)
|
類型: |
原始程式碼位於 starlette/responses.py
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 |
|