-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
pydantic.error_wrappers.ValidationError 오류가 떠요
23.10.05 23:04 작성 조회수 777
0
지금 orm적용 get단일 조회 api 강의를 보고있는데 코드를 똑같이 쳤는데 마지막에 swagger 에서 입력 하면 pydantic.error_wrappers.ValidationError: 3 validation errors for ToDoSchema
id
field required (type=value_error.missing)
content
field required (type=value_error.missing)
is_done
field required (type=value_error.missing)
이 오류가 뜹니다..ㅠㅠ 무슨 오류인가요
답변을 작성해보세요.
1
신동현
지식공유자2023.10.05
안녕하세요! ToDoSchema에 필수값이 전달되지 않았기 때문에 발생하는 에러로 확인됩니다. 핸들러에서 리턴하는 코드에 ToDoSchema.from_orm(todo)
부분이 잘 적용되어 있나 확인 부탁드립니다.
inflearn1.modeep
질문자2023.10.06
@app.get("/todos/{todo_id}", status_code=200)
def get_todo_hendler(
todo_id: int,
session: Session = Depends(get_db),
) -> ToDoSchema:
todo: ToDo | None = get_todo_by_todo_id(session=session, todo_id = todo_id)
if todo:
return ToDoSchema.from_orm(todo)
raise HTTPException(status_code=404, detail="찾을 수 없습니다.") 제 코드는 이렇습니다.
inflearn1.modeep
질문자2023.10.06
def get_todo_by_todo_id(session:Session, todo_id: int) -> ToDo | None:
return session.scalars(select(ToDo).where(ToDo.id == todo_id))
이렇게 작성했습니다
신동현
지식공유자2023.10.06
scalars()는 조건문에 해당하는 데이터를 조회해서 ScalarResult
를 반환합니다. scalar()는 반환된 ScalarResult
에 데이터가 있는 경우 하나의 python 객체를 반환하고 데이터가 없는 경우 None을 반환하는 메소드입니다.
답변 1