Я делаю API с Fastapi и Pydantic. Более того, я хотел бы, чтобы клиент прошел только необходимые поля в полезной нагрузке. Lang-Py PrettyPrint-Override ">
class Item(BaseModel):
name: str
description: str
price: float
tax: float
@app.post("/items", response_model=Item)
async def post_item(item: Item):
...
@app.patch("/items/{item_id}", response_model=Item)
async def update_item(item_id: str, item: Item):
...
< /code>
В этом примере для запроса поста я хочу, чтобы каждое поле потребовалось. Однако в конечной точке патча я не возражаю против, если полезная нагрузка содержит, например, поле описания. Вот почему я хочу иметь все поля как необязательные. < /P>
Наивный подход: < /p>
class UpdateItem(BaseModel):
name: Optional[str] = None
description: Optional[str] = None
price: Optional[float] = None
tax: Optional[float]
Но это было бы ужасно с точки зрения повторения кода.
Любой лучшая опция?
Я делаю API с Fastapi и Pydantic. Более того, я хотел бы, чтобы клиент прошел только необходимые поля в полезной нагрузке. Lang-Py PrettyPrint-Override ">[code]class Item(BaseModel): name: str description: str price: float tax: float
@app.patch("/items/{item_id}", response_model=Item) async def update_item(item_id: str, item: Item): ... < /code> В этом примере для запроса поста я хочу, чтобы каждое поле потребовалось. Однако в конечной точке патча я не возражаю против, если полезная нагрузка содержит, например, поле описания. Вот почему я хочу иметь все поля как необязательные. < /P> Наивный подход: < /p> class UpdateItem(BaseModel): name: Optional[str] = None description: Optional[str] = None price: Optional[float] = None tax: Optional[float] [/code] Но это было бы ужасно с точки зрения повторения кода. Любой лучшая опция?
Я делаю API с Fastapi и Pydantic. Более того, я хотел бы, чтобы клиент прошел только необходимые поля в полезной нагрузке. Lang-Py PrettyPrint-Override > class Item(BaseModel):
name: str
description: str
price: float
tax: float
Я делаю API с Fastapi и Pydantic. Более того, я хотел бы, чтобы клиент прошел только необходимые поля в полезной нагрузке. Lang-Py PrettyPrint-Override > class Item(BaseModel):
name: str
description: str
price: float
tax: float
Я пытаюсь сопоставить необязательный параметр с другим.
Я сделал следующее, но получаю ошибку:
Optional does not have an accessible constructor
@Mapper( componentModel = spring , unmappedTargetPolicy = ReportingPolicy.IGNORE )
public interface...
Для класса FastAPI Pydanctic у меня есть эти значения
class ErrorReportRequest(BaseModel):
sender: Optional = Field(..., description= Who sends the error message. )
error_message_displayed_to_client: str = Field(..., description= The error message...
Я пытаюсь проверить объект, который имеет «необязательные» поля в том смысле, что они могут присутствовать или отсутствовать. Но когда они присутствуют, поля должны соответствовать определенному определению типа (не None).