Browse Source

Fix `custom_request_and_route/tutorial002_an**`

pull/14413/head
Yurii Motov 7 months ago
parent
commit
0eef5aa5f4
  1. 4
      docs/en/docs/how-to/custom-request-and-route.md
  2. 3
      docs_src/custom_request_and_route/tutorial002_an.py
  3. 3
      docs_src/custom_request_and_route/tutorial002_an_py310.py
  4. 4
      docs_src/custom_request_and_route/tutorial002_an_py39.py

4
docs/en/docs/how-to/custom-request-and-route.md

@ -92,11 +92,11 @@ We can also use this same approach to access the request body in an exception ha
All we need to do is handle the request inside a `try`/`except` block: All we need to do is handle the request inside a `try`/`except` block:
{* ../../docs_src/custom_request_and_route/tutorial002_an_py310.py hl[13,15] *} {* ../../docs_src/custom_request_and_route/tutorial002_an_py310.py hl[14,16] *}
If an exception occurs, the`Request` instance will still be in scope, so we can read and make use of the request body when handling the error: If an exception occurs, the`Request` instance will still be in scope, so we can read and make use of the request body when handling the error:
{* ../../docs_src/custom_request_and_route/tutorial002_an_py310.py hl[16:18] *} {* ../../docs_src/custom_request_and_route/tutorial002_an_py310.py hl[17:19] *}
## Custom `APIRoute` class in a router { #custom-apiroute-class-in-a-router } ## Custom `APIRoute` class in a router { #custom-apiroute-class-in-a-router }

3
docs_src/custom_request_and_route/tutorial002_an.py

@ -3,6 +3,7 @@ from typing import Callable, List
from fastapi import Body, FastAPI, HTTPException, Request, Response from fastapi import Body, FastAPI, HTTPException, Request, Response
from fastapi.exceptions import RequestValidationError from fastapi.exceptions import RequestValidationError
from fastapi.routing import APIRoute from fastapi.routing import APIRoute
from typing_extensions import Annotated
class ValidationErrorLoggingRoute(APIRoute): class ValidationErrorLoggingRoute(APIRoute):
@ -25,5 +26,5 @@ app.router.route_class = ValidationErrorLoggingRoute
@app.post("/") @app.post("/")
async def sum_numbers(numbers: List[int] = Body()): async def sum_numbers(numbers: Annotated[List[int], Body()]):
return sum(numbers) return sum(numbers)

3
docs_src/custom_request_and_route/tutorial002_an_py310.py

@ -1,4 +1,5 @@
from collections.abc import Callable from collections.abc import Callable
from typing import Annotated
from fastapi import Body, FastAPI, HTTPException, Request, Response from fastapi import Body, FastAPI, HTTPException, Request, Response
from fastapi.exceptions import RequestValidationError from fastapi.exceptions import RequestValidationError
@ -25,5 +26,5 @@ app.router.route_class = ValidationErrorLoggingRoute
@app.post("/") @app.post("/")
async def sum_numbers(numbers: list[int] = Body()): async def sum_numbers(numbers: Annotated[list[int], Body()]):
return sum(numbers) return sum(numbers)

4
docs_src/custom_request_and_route/tutorial002_an_py39.py

@ -1,4 +1,4 @@
from typing import Callable from typing import Annotated, Callable
from fastapi import Body, FastAPI, HTTPException, Request, Response from fastapi import Body, FastAPI, HTTPException, Request, Response
from fastapi.exceptions import RequestValidationError from fastapi.exceptions import RequestValidationError
@ -25,5 +25,5 @@ app.router.route_class = ValidationErrorLoggingRoute
@app.post("/") @app.post("/")
async def sum_numbers(numbers: list[int] = Body()): async def sum_numbers(numbers: Annotated[list[int], Body()]):
return sum(numbers) return sum(numbers)

Loading…
Cancel
Save