Home / File/ tutorial004_py39.py — fastapi Source File

tutorial004_py39.py — fastapi Source File

Architecture documentation for tutorial004_py39.py, a python file in the fastapi codebase. 5 imports, 1 dependents.

File python FastAPI Routing 5 imports 1 dependents 3 functions

Entity Profile

Dependency Diagram

graph LR
  38ef6f23_808c_5f1f_4d60_57127dfa4be4["tutorial004_py39.py"]
  534f6e44_61b8_3c38_8b89_6934a6df9802["__init__.py"]
  38ef6f23_808c_5f1f_4d60_57127dfa4be4 --> 534f6e44_61b8_3c38_8b89_6934a6df9802
  01c652c5_d85c_f45e_848e_412c94ea4172["exceptions.py"]
  38ef6f23_808c_5f1f_4d60_57127dfa4be4 --> 01c652c5_d85c_f45e_848e_412c94ea4172
  58bb043a_10d8_c308_5564_225558a63815["RequestValidationError"]
  38ef6f23_808c_5f1f_4d60_57127dfa4be4 --> 58bb043a_10d8_c308_5564_225558a63815
  967b6712_70e2_f5fa_f671_7c149857a445["responses.py"]
  38ef6f23_808c_5f1f_4d60_57127dfa4be4 --> 967b6712_70e2_f5fa_f671_7c149857a445
  72a586ac_ceef_ac9f_17ec_0ed0d645b635["starlette.exceptions"]
  38ef6f23_808c_5f1f_4d60_57127dfa4be4 --> 72a586ac_ceef_ac9f_17ec_0ed0d645b635
  73369753_bf41_b92f_83b4_ec5f00c854e3["test_tutorial004.py"]
  73369753_bf41_b92f_83b4_ec5f00c854e3 --> 38ef6f23_808c_5f1f_4d60_57127dfa4be4
  style 38ef6f23_808c_5f1f_4d60_57127dfa4be4 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

from fastapi import FastAPI, HTTPException
from fastapi.exceptions import RequestValidationError
from fastapi.responses import PlainTextResponse
from starlette.exceptions import HTTPException as StarletteHTTPException

app = FastAPI()


@app.exception_handler(StarletteHTTPException)
async def http_exception_handler(request, exc):
    return PlainTextResponse(str(exc.detail), status_code=exc.status_code)


@app.exception_handler(RequestValidationError)
async def validation_exception_handler(request, exc: RequestValidationError):
    message = "Validation errors:"
    for error in exc.errors():
        message += f"\nField: {error['loc']}, Error: {error['msg']}"
    return PlainTextResponse(message, status_code=400)


@app.get("/items/{item_id}")
async def read_item(item_id: int):
    if item_id == 3:
        raise HTTPException(status_code=418, detail="Nope! I don't like 3.")
    return {"item_id": item_id}

Domain

Subdomains

Frequently Asked Questions

What does tutorial004_py39.py do?
tutorial004_py39.py is a source file in the fastapi codebase, written in python. It belongs to the FastAPI domain, Routing subdomain.
What functions are defined in tutorial004_py39.py?
tutorial004_py39.py defines 3 function(s): http_exception_handler, read_item, validation_exception_handler.
What does tutorial004_py39.py depend on?
tutorial004_py39.py imports 5 module(s): RequestValidationError, __init__.py, exceptions.py, responses.py, starlette.exceptions.
What files import tutorial004_py39.py?
tutorial004_py39.py is imported by 1 file(s): test_tutorial004.py.
Where is tutorial004_py39.py in the architecture?
tutorial004_py39.py is located at docs_src/handling_errors/tutorial004_py39.py (domain: FastAPI, subdomain: Routing, directory: docs_src/handling_errors).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free