📝 Add docs recommending Union over Optional and migrate source examples (#4908)

* 📝 Add docs recommending Union over Optional

* 📝 Update docs recommending Union over Optional

* 📝 Update source examples for docs, recommend Union over Optional

* 📝 Update highlighted lines with updated source examples

* 📝 Update highlighted lines in Markdown with recent code changes

* 📝 Update docs, use Union instead of Optional

* ♻️ Update source examples to recommend Union over Optional

* 🎨 Update highlighted code in Markdown after moving from Optional to Union
This commit is contained in:
Sebastián Ramírez
2022-05-14 06:59:59 -05:00
committed by GitHub
parent c5be1b0550
commit ca437cdfab
131 changed files with 489 additions and 426 deletions

View File

@@ -1,4 +1,4 @@
from typing import Optional
from typing import Union
from fastapi import FastAPI
from pydantic import BaseModel
@@ -8,9 +8,9 @@ app = FastAPI()
class Item(BaseModel):
name: str
description: Optional[str] = None
description: Union[str, None] = None
price: float
tax: Optional[float] = None
tax: Union[float, None] = None
class Config:
schema_extra = {

View File

@@ -1,4 +1,4 @@
from typing import Optional
from typing import Union
from fastapi import FastAPI
from pydantic import BaseModel, Field
@@ -8,9 +8,9 @@ app = FastAPI()
class Item(BaseModel):
name: str = Field(example="Foo")
description: Optional[str] = Field(default=None, example="A very nice Item")
description: Union[str, None] = Field(default=None, example="A very nice Item")
price: float = Field(example=35.4)
tax: Optional[float] = Field(default=None, example=3.2)
tax: Union[float, None] = Field(default=None, example=3.2)
@app.put("/items/{item_id}")

View File

@@ -1,4 +1,4 @@
from typing import Optional
from typing import Union
from fastapi import Body, FastAPI
from pydantic import BaseModel
@@ -8,9 +8,9 @@ app = FastAPI()
class Item(BaseModel):
name: str
description: Optional[str] = None
description: Union[str, None] = None
price: float
tax: Optional[float] = None
tax: Union[float, None] = None
@app.put("/items/{item_id}")

View File

@@ -1,4 +1,4 @@
from typing import Optional
from typing import Union
from fastapi import Body, FastAPI
from pydantic import BaseModel
@@ -8,9 +8,9 @@ app = FastAPI()
class Item(BaseModel):
name: str
description: Optional[str] = None
description: Union[str, None] = None
price: float
tax: Optional[float] = None
tax: Union[float, None] = None
@app.put("/items/{item_id}")