Home / File/ tutorial007_py39.py — fastapi Source File

tutorial007_py39.py — fastapi Source File

Architecture documentation for tutorial007_py39.py, a python file in the fastapi codebase. 3 imports, 0 dependents.

File python FastAPI Applications 3 imports 1 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  9b50b52c_09cf_e0fb_bbf5_d60ad230b925["tutorial007_py39.py"]
  67785272_06f8_d6cb_1f4a_abf8bc11d004["yaml"]
  9b50b52c_09cf_e0fb_bbf5_d60ad230b925 --> 67785272_06f8_d6cb_1f4a_abf8bc11d004
  534f6e44_61b8_3c38_8b89_6934a6df9802["__init__.py"]
  9b50b52c_09cf_e0fb_bbf5_d60ad230b925 --> 534f6e44_61b8_3c38_8b89_6934a6df9802
  6913fbd4_39df_d14b_44bb_522e99b65b90["pydantic"]
  9b50b52c_09cf_e0fb_bbf5_d60ad230b925 --> 6913fbd4_39df_d14b_44bb_522e99b65b90
  style 9b50b52c_09cf_e0fb_bbf5_d60ad230b925 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import yaml
from fastapi import FastAPI, HTTPException, Request
from pydantic import BaseModel, ValidationError

app = FastAPI()


class Item(BaseModel):
    name: str
    tags: list[str]


@app.post(
    "/items/",
    openapi_extra={
        "requestBody": {
            "content": {"application/x-yaml": {"schema": Item.model_json_schema()}},
            "required": True,
        },
    },
)
async def create_item(request: Request):
    raw_body = await request.body()
    try:
        data = yaml.safe_load(raw_body)
    except yaml.YAMLError:
        raise HTTPException(status_code=422, detail="Invalid YAML")
    try:
        item = Item.model_validate(data)
    except ValidationError as e:
        raise HTTPException(status_code=422, detail=e.errors(include_url=False))
    return item

Domain

Subdomains

Functions

Classes

Dependencies

Frequently Asked Questions

What does tutorial007_py39.py do?
tutorial007_py39.py is a source file in the fastapi codebase, written in python. It belongs to the FastAPI domain, Applications subdomain.
What functions are defined in tutorial007_py39.py?
tutorial007_py39.py defines 1 function(s): create_item.
What does tutorial007_py39.py depend on?
tutorial007_py39.py imports 3 module(s): __init__.py, pydantic, yaml.
Where is tutorial007_py39.py in the architecture?
tutorial007_py39.py is located at docs_src/path_operation_advanced_configuration/tutorial007_py39.py (domain: FastAPI, subdomain: Applications, directory: docs_src/path_operation_advanced_configuration).

Analyze Your Own Codebase

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

Try Supermodel Free