일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 딥러닝
- konlpy
- pandas
- sklearn
- 판다스
- HTML
- pytorch
- deeplearning
- 랭체인
- 파이토치
- fastapi #python웹개발
- fastapi
- MachineLearning
- 판다스 데이터정렬
- 비지도학습
- 사이킷런
- chatGPT
- programmablesearchengine
- fastapi #파이썬웹개발
- 파이토치기본
- 자연어분석
- langchain
- python 정렬
- 머신러닝
- 챗gpt
- 파이썬
- 파이썬웹개발
- OpenAIAPI
- NLP
- Python
- Today
- Total
Data Navigator
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기6 - todo 목록 반환 모델 만들기 본문
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기6
- todo 목록 반환 모델 만들기 -
1. Todo list 출력하기
현재 만들어져있는 todo 어플리케이션에서 전체 todo 목록을 출력하는 부분은 GET /todo Retrive Todos 이다.
localhost:8000/docs로 접속해 post /todo 부분의 try it out 에서 샘플 데이터 3개를 입력하고 출력해 보자.
1) localhost:8000/docs로 접속해 post /todo 부분의 try it out 에서 샘플 데이터 3번 입력한다.
{
"id": 1,
"item": "Example Schema01!"
}
# 입력 후 excute를 눌러 저장
{
"id": 2,
"item": "Example Schema02!"
}
# 입력 후 excute를 눌러 저장
{
"id": 3,
"item": "Example Schema03!"
}
# 입력 후 excute를 눌러 저장
2) GET /todo Retrive Todos 부분의 try it out 을 누르고 Excute를 누르면 위에서 입력한 3개의 데이터가 출력된다.
현재 출력된 결과를 보면 id와 item이 동시에 출력된다. 이것을 item만 출력되도록 응답 모델을 만들어 수정하자.
2. id 없이 item만 반환하도록 TodoItems 모델 model.py에 추가하기
1) typing에서 List 를 임포트하고 TodoItems 클래스 작성한다.
# typing에서 List 임포트
from typing import List
# model.py
# TodoItems 클래스 추가
class TodoItems(BaseModel):
todos: List[TodoItem]
class Config:
json_schema_extra = {
"example" : {
"todos" : [
{
"item" : "Example schema 1!"
},
{
"item" : "Example schema 2!"
}
]
}
}
2) todo.py 에 있는 라우트에 model에서 정의한 TodoItems 클래스를 임포트하고 retrive_todo 함수의 라우터에 추가한다.
from model import Todo, TodoItem, TodoItems #TodoItems 임포트 추가
@todo_router.get("/todo", response_model=TodoItems) # response_model=TodoItems 추가
async def retrive_todos() -> dict:
return {
"todos" : todo_list
}
3) 서버 실행 후 응답모델 테스트
위의 Todo list 출력하기에서 했던 것 처럼 서버 실행 후 docs의 post /todo 부분의 try it out 에서 샘플 데이터 3번 입력한다.
{
"id": 1,
"item": "Example Schema01!"
}
# 입력 후 excute를 눌러 저장 2, 3번째도 동일
GET /todo Retrive Todos 부분의 try it out 을 누르고 Excute를 누르면 위에서 입력한 3개의 데이터가 출력되는데 처음과 다르게 id없이 item만 출력 되는 것을 확인 할 수 있다.
출처: 아데시나, 압둘라지즈 압둘라지즈. FastAPI를 사용한 파이썬 웹 개발. 번역 김완섭. 한빛미디어, 2023
'FastAPI' 카테고리의 다른 글
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기8 - jinja 템플릿 사용법 (0) | 2024.05.10 |
---|---|
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기7 - http 예외처리하기 (0) | 2024.05.09 |
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기5 - CRUD 구현 하기 (0) | 2024.05.08 |
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기4 - 경로 매개변수와 쿼리 매개변수 (0) | 2024.05.04 |
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기3 - pydantic 으로 유효성 검사하기 (0) | 2024.05.03 |