FastAPI 와 Pydantic 을 이용해서 API 작성을 하면서 request body로 들어오는 값의 존재 유무에 따라서 어떻게 세팅 되는지 확인이 필요했다.
from typing import Union
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
is_offer: bool | None = True
address: str = "seoul"
address1: str | None = None
@app.post("/items")
def insert_item(item: Item):
return item
아주 간단한 API 이다. name 과 price 는 필수 값이고 is_offer 는 bool 타입으로 None 이 허용된다.
1. name, price 만 존재할 경우 -> 필드가 존재 하지 않을 경우 default 값으로 설정된다.
2. is_offer 에 null 이 들어간 경우 -> null 그대로 리턴 (None 을 허용했기 때문)
3. address 에 null 이 들어간 경우 -> Error
4. 결론
None 을 허용할 경우 값이 null 이 허용된다. 하지만 null 경우 default 값으로 값이 설정되지는 않는다. 그냥 null 로 설정된다.
'Development > Python' 카테고리의 다른 글
맥(Mac)에서 아나콘다(Anaconda) 제거하기 (0) | 2023.08.11 |
---|---|
머신러닝 관련 용어 (0) | 2023.06.12 |
colab 에서 kaggle 설정 (0) | 2023.06.07 |
Pandas 사용 (0) | 2023.05.23 |
NumPy 사용 (0) | 2023.05.09 |