Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 딥러닝
- MachineLearning
- chatGPT
- programmablesearchengine
- sklearn
- konlpy
- 챗gpt
- 파이토치기본
- Python
- 파이썬웹개발
- langchain
- 파이토치
- 머신러닝
- 판다스
- 파이썬
- 자연어분석
- deeplearning
- fastapi #파이썬웹개발
- 사이킷런
- NLP
- 비지도학습
- HTML
- pytorch
- fastapi #python웹개발
- pandas
- python 정렬
- OpenAIAPI
- 판다스 데이터정렬
- 랭체인
- fastapi
Archives
- Today
- Total
Data Navigator
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기4 - 경로 매개변수와 쿼리 매개변수 본문
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기4
- 경로 매개변수와 쿼리 매개변수 -
1. 경로 매개변수
경로 매개변수는 리소스를 식별하기 위해 API 라우팅에 사용된다.
앞에서 만든 todo 프로그램에서 id 1번을 조회하고 싶을 때 id를 매개변수로 전달해 조회 한다.
예) localhost:8000/todo/1
1) todo list의 id로 내용을 조회하게 하기 위해 todo.py에 get_single_todo함수를 정의하고 라우터에 경로 매개변수를 추가한다.
# todo.py
@todo_router.get("/todo/{todo_id}")
async def get_single_todo(todo_id: int) -> dict:
for todo in todo_list:
if todo.id == todo_id:
return {
"todo" : todo
}
return {
"message" : "Todo with supplied ID doesn't exist."
}
2) curl 명령어를 이용해 id, item을 등록하고 조회해보자.
curl 명령을 이용해 id, item을 등록한다.
curl -X 'POST' 'http://127.0.0.1:8000/todo' -H 'accept: application/json' -H 'Content-Type: application/json' -d '{"id":1, "item": "First Todo is to finish this book!"}
"message": "Todo added successfully." 가 보이면 성공
이번에는 curl 명령을 통해 경로 매개변수로 id를 전송해 방금 입력한 내용을 조회해 보자
curl -X 'GET' 'http://127.0.0.1:8000/todo/1' -H 'accept: application/json'
조금 전에 입력했던 "id" : 1, "item" : "First Todo is to finish this book!" 이 출력되면 성공
3) Path 클래스를 추가해 스웨거가 OpenAPI 기반 문서를 자동 생성할 때 라우트 관련 정보를 함께 문서화 하도록 한다.
todo.py에 Path를 임포트하고 get_single_todo 함수에 Path 내용을 추가한다.
@todo_router.get("/todo/{todo_id}")
async def get_single_todo(todo_id: int = Path(..., title="The id of the todo to retrieve.")) -> dict:
for todo in todo_list:
if todo.id == todo_id:
return {
"todo" : todo
}
return {
"message" : "Todo with supplied ID doesn't exist."
}
출처: 아데시나, 압둘라지즈 압둘라지즈. FastAPI를 사용한 파이썬 웹 개발. 번역 김완섭. 한빛미디어, 2023
'FastAPI' 카테고리의 다른 글
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기6 - todo 목록 반환 모델 만들기 (0) | 2024.05.08 |
---|---|
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기5 - CRUD 구현 하기 (0) | 2024.05.08 |
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기3 - pydantic 으로 유효성 검사하기 (0) | 2024.05.03 |
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기2 - Routing (0) | 2024.05.03 |
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기 (0) | 2024.05.03 |