from typing import Optional
from enum import Enum
from fastapi import FastAPI
from pydantic import BaseModel, HttpUrl
app = FastAPI()
class User(BaseModel):
name: str
password: str
avatar_url: Optional[HttpUrl] = None
@app.post("/users")
def create_user(user: User):
return user
요청까지 시도해보았다.
httpie 에서 json 만드는 형식이니 참고만하자.
비밀번호는 반드시 암호화하자.
pydantic에는 EmailStr 이 있다. 이메일 검증 정규표현을 사용할 필요가 없다.
from typing import Optional, List
from enum import Enum
from fastapi import FastAPI
from pydantic import BaseModel, HttpUrl
app = FastAPI()
class Item(BaseModel):
name: str
price: float
amount: int = 0
class User(BaseModel):
name: str
password: str
avatar_url: Optional[HttpUrl] = None
inventory: List[Item] = []
@app.post("/users")
def create_user(user: User):
return user
@app.get("/users/me")
def get_user():
fake_user = User(
name="FakeUser",
password="1234",
inventory=[
Item(name="전설 무기", price=1_000_000),
Item(name="전설 무기", price=900_000),
],
)
return fake_user