20 lines
350 B
Python
20 lines
350 B
Python
|
from typing import Union
|
||
|
|
||
|
from fastapi import FastAPI
|
||
|
from pydantic import BaseModel, EmailStr
|
||
|
|
||
|
app = FastAPI()
|
||
|
|
||
|
|
||
|
class UserIn(BaseModel):
|
||
|
username: str
|
||
|
password: str
|
||
|
email: EmailStr
|
||
|
full_name: Union[str, None] = None
|
||
|
|
||
|
|
||
|
# Don't do this in production!
|
||
|
@app.post("/user/")
|
||
|
async def create_user(user: UserIn) -> UserIn:
|
||
|
return user
|