]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
📝 Add docs for `default_response_class` (#1455)
authorRoman Tezikov <tez.romach@gmail.com>
Sat, 13 Jun 2020 16:02:45 +0000 (19:02 +0300)
committerGitHub <noreply@github.com>
Sat, 13 Jun 2020 16:02:45 +0000 (18:02 +0200)
* :heavy_plus_sign: Add docs to default_response_class

* :white_check_mark: create a tip

* ✅ fixing the tip

* :ambulance: grammar

* 📝 Update docs for default response class

Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
docs/en/docs/advanced/custom-response.md
docs_src/custom_response/tutorial010.py [new file with mode: 0644]

index 545a84436015c2274cd0308bdfe34114411fb0eb..f753cc300fc7ac7e0ea285646abf060026cf20b9 100644 (file)
@@ -203,6 +203,21 @@ File responses will include appropriate `Content-Length`, `Last-Modified` and `E
 {!../../../docs_src/custom_response/tutorial009.py!}
 ```
 
+## Default response class
+
+When creating a **FastAPI** class instance or an `APIRouter` you can specify which response class to use by default.
+
+The parameter that defines this is `default_response_class`.
+
+In the example below, **FastAPI** will use `ORJSONResponse` by default, in all *path operations*, instead of `JSONResponse`.
+
+```Python hl_lines="2 4"
+{!../../../docs_src/custom_response/tutorial010.py!}
+```
+
+!!! tip
+    You can still override `response_class` in *path operations* as before.
+
 ## Additional documentation
 
 You can also declare the media type and many other details in OpenAPI using `responses`: [Additional Responses in OpenAPI](additional-responses.md){.internal-link target=_blank}.
diff --git a/docs_src/custom_response/tutorial010.py b/docs_src/custom_response/tutorial010.py
new file mode 100644 (file)
index 0000000..57cb062
--- /dev/null
@@ -0,0 +1,9 @@
+from fastapi import FastAPI
+from fastapi.responses import ORJSONResponse
+
+app = FastAPI(default_response_class=ORJSONResponse)
+
+
+@app.get("/items/")
+async def read_items():
+    return [{"item_id": "Foo"}]