Код: Выделить всё
Name = Annotated[str, AfterValidator(validate_name)]
class Foo(BaseModel):
id: UUID = Field(default_factory=uuid4)
name: Name
< /code>
и конечная точка Fastapi: < /p>
@app.post('/foos')
def create_foo(foo: Foo) -> Foo:
save_to_database(foo)
return foo
Код: Выделить всё
def create_foo(foo: Annotated[Foo, Body(include=['id'])]) -> Foo:
< /code>
Я знаю, что могу сделать: < /p>
@app.post('/foos')
def create_foo(name: Annotated[str, Body(embed=True)]) -> Foo:
foo = Foo(name=name)
save_to_database(foo)
return foo
Любой элегантный способ обработки?
Подробнее здесь: https://stackoverflow.com/questions/785 ... i-endpoint