lqs
d20566fe07
Some checks failed
Test / lint (push) Has been cancelled
Test / test (pydantic-v1, 3.10) (push) Has been cancelled
Test / test (pydantic-v1, 3.11) (push) Has been cancelled
Test / test (pydantic-v1, 3.12) (push) Has been cancelled
Test / test (pydantic-v1, 3.8) (push) Has been cancelled
Test / test (pydantic-v1, 3.9) (push) Has been cancelled
Test / test (pydantic-v2, 3.10) (push) Has been cancelled
Test / test (pydantic-v2, 3.11) (push) Has been cancelled
Test / test (pydantic-v2, 3.12) (push) Has been cancelled
Test / test (pydantic-v2, 3.8) (push) Has been cancelled
Test / test (pydantic-v2, 3.9) (push) Has been cancelled
Test / coverage-combine (push) Has been cancelled
Test / check (push) Has been cancelled
Issue Manager / issue-manager (push) Has been cancelled
Label Approved / label-approved (push) Has been cancelled
42 lines
1.0 KiB
Python
42 lines
1.0 KiB
Python
from fastapi import FastAPI, Request
|
|
|
|
app = FastAPI()
|
|
|
|
|
|
def magic_data_reader(raw_body: bytes):
|
|
return {
|
|
"size": len(raw_body),
|
|
"content": {
|
|
"name": "Maaaagic",
|
|
"price": 42,
|
|
"description": "Just kiddin', no magic here. ✨",
|
|
},
|
|
}
|
|
|
|
|
|
@app.post(
|
|
"/items/",
|
|
openapi_extra={
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"required": ["name", "price"],
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {"type": "string"},
|
|
"price": {"type": "number"},
|
|
"description": {"type": "string"},
|
|
},
|
|
}
|
|
}
|
|
},
|
|
"required": True,
|
|
},
|
|
},
|
|
)
|
|
async def create_item(request: Request):
|
|
raw_body = await request.body()
|
|
data = magic_data_reader(raw_body)
|
|
return data
|