# 다음과 같은 요청시
curl 'http://localhost:8000/path/lemon/ysoftman' \
-H 'Origin: http://localhost:8000' \
-H 'X-User-Token: abc123' \
--data-raw '{"name":"ysoftman","desc":"test","spec":{"val1":100,"val2":"asdf"}}'
# 응답으로 422(Unprocessable Entity)가 발생하며 다음과 같은 응답 메시지를 받는 경우가 있다.
{"detail":[{"loc":["query","data"],"msg":"field required","type":"value_error.missing"}]}%
# fastapi route 함수에서 파라메터 타입이 잘못된거나 빠지면 발생한다.
# BaseModel 을 이용해 파라메터 타입을 명시하면 된다.
class SpecObject(BaseModel):
val1: int
val2: str
class YsoftmanData(BaseModel):
name: str
desc: str
spec: SpecObject
@router.post("/path/{val1}/ysoftman")
def post_ysoftman(val1: str, data: YsoftmanData, x_user_token: str = Header(default=None)):
# 참고