Class Config in class Book doesn't show on Swaggeer UI in FastAPI (on browser chrome). In POST request.
zzz zzz zzz zzz zzz zzz zzz zzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzzzzz zzz zzz zzz zzz zzz zzz
from typing import Optional
from fastapi import FastAPI
from pydantic import BaseModel, Field
from uuid import UUID
app = FastAPI()
class Book(BaseModel):
id: UUID
title: str = Field(min_length=3)
author: str = Field(min_length=1, max_length=100)
description: Optional[str] = Field(title="Description of the book",
max_length=100,
min_length=1)
rating: int = Field(gt=-1, lt=101)
class Config:
schema_extra = {
"example": {
"id": "1c1a2cf4-8302-45f7-847c-ce98e6da8d73",
"title": "Computer Science Pro.",
"author": "Coding with Yury.",
"description": "A very nice description of a book."
}
}
BOOKS = []
@app.get("/")
async def read_all_books():
if len(BOOKS) < 1:
create_books_no_api()
return BOOKS
@app.post("/")
async def create_book(book: Book):
BOOKS.append(book)
return book
def create_books_no_api():
book_1 = Book(id="3c1a2cf4-8302-45f7-847c-ce98e6da8d73",
title="Title 1",
author="Author 1",
description="Description 1",
rating=60)
book_2 = Book(id="3c2a2cf4-8302-45f7-847c-ce98e6da8d73",
title="Title 2",
author="Author 2",
description="Description 2",
rating=70)
book_3 = Book(id="3c3a2cf4-8302-45f7-847c-ce98e6da8d73",
title="Title 3",
author="Author 3",
description="Description 3",
rating=80)
book_4 = Book(id="3c4a2cf4-8302-45f7-847c-ce98e6da8d73",
title="Title 4",
author="Author 4",
description="Description 4",
rating=90)
BOOKS.append(book_1)
BOOKS.append(book_2)
BOOKS.append(book_3)
BOOKS.append(book_4)
theblackmonkey is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.