Home / File/ tutorial007_pv1_py39.py — fastapi Source File

tutorial007_pv1_py39.py — fastapi Source File

Architecture documentation for tutorial007_pv1_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
  2877df0c_2192_4c1f_b48a_80ea5823bc46["tutorial007_pv1_py39.py"]
  67785272_06f8_d6cb_1f4a_abf8bc11d004["yaml"]
  2877df0c_2192_4c1f_b48a_80ea5823bc46 --> 67785272_06f8_d6cb_1f4a_abf8bc11d004
  534f6e44_61b8_3c38_8b89_6934a6df9802["__init__.py"]
  2877df0c_2192_4c1f_b48a_80ea5823bc46 --> 534f6e44_61b8_3c38_8b89_6934a6df9802
  e196b5ee_ed27_19aa_2701_a14cdc5c0202["pydantic.v1"]
  2877df0c_2192_4c1f_b48a_80ea5823bc46 --> e196b5ee_ed27_19aa_2701_a14cdc5c0202
  style 2877df0c_2192_4c1f_b48a_80ea5823bc46 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

import yaml
from fastapi import FastAPI, HTTPException, Request
from pydantic.v1 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.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.parse_obj(data)
    except ValidationError as e:
        raise HTTPException(status_code=422, detail=e.errors())
    return item

Domain

Subdomains

Functions

Classes

Dependencies

Frequently Asked Questions

What does tutorial007_pv1_py39.py do?
tutorial007_pv1_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_pv1_py39.py?
tutorial007_pv1_py39.py defines 1 function(s): create_item.
What does tutorial007_pv1_py39.py depend on?
tutorial007_pv1_py39.py imports 3 module(s): __init__.py, pydantic.v1, yaml.
Where is tutorial007_pv1_py39.py in the architecture?
tutorial007_pv1_py39.py is located at docs_src/path_operation_advanced_configuration/tutorial007_pv1_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