반응형
FastAPI 목차
요청 본문
POST, PUT, DELETE, PATCH와 같은 메서드를 사용하여 데이터를 전송하는 경우 요새는 JSON을 이용합니다.
from typing import Optional
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
해당 코드에서 User클래스는 pydantic.BaseModel
을 상속하는 데이터 모델입니다.
모델 속 필드를 확인하면 name
과 password
는 필수이나, avatar_url
은 선택값입니다.
avatar_url을 보면 pydantic의 HttpUrl을 사용하고 있는데,
pydantic은 자주 쓰이는 타입들에 대해 미리 제공하고, 해당 타입을 검증해줍니다.
HttpUrl은 URL을 검증해주는 타입 중 하나입니다.
URL의 형태의 값을 전달하지 않으면 "invalid or missing URL scheme"와 같은 메시지를 확인할 수 있습니다
위에서 작성한 코드를 포스트맨을 통해서 실행시켜보면 기입한 값이 잘 나오고 있는것을 확인 할 수 있습니다.
728x90
반응형
'Programming > Python' 카테고리의 다른 글
[에러] 파이썬 가상환경 보안 에러 (0) | 2023.01.13 |
---|---|
[FastAPI] 응답 모델 (0) | 2022.08.13 |
[FastAPI] 쿼리 매개변수 (0) | 2022.08.11 |
[FastAPI] 경로 매개변수 (0) | 2022.08.10 |
[FastAPI] FastAPI 설치 (0) | 2022.08.09 |