정말 기초적인 FastAPI 튜토리얼 #2 - 경로 파라미터와 자동 문서화

FastAPI에서 경로 파라미터를 다루는 방법과 자동 문서화 기능을 알아봅니다.

정말 기초적인 FastAPI 튜토리얼 #2 - 경로 파라미터와 자동 문서화
Image by Gerd Altmann from Pixabay
💡
2023 한국 파이콘에서 진행했던 FastAPI 튜토리얼에 내용을 추가하여 글 형식으로 정리해보았습니다.
이 튜토리얼은 파이썬을 조금 다뤄보신 분들이 FastAPI를 기초부터 배울 수 있게 구성했습니다.

2편에서는 다음 내용을 다룹니다.

• 경로 파라미터를 처리하는 API 만들기
• FastAPI의 자동 문서화(OpenAPI) 살펴보기

경로 파라미터를 처리하는 API 만들기

/user/{user_name}

경로 파라미터는 url 주소의 일부분을 변수로 사용하는 방식입니다. 예를 들어 raccoony라는 사용자의 정보를 알기 위해 /user/raccoony에 접근했다면, raccoony 부분을 user_name 변수에 할당하는 것이죠.

api/api.py 파일에 user 메서드를 추가합시다.

@app.get("/user/{user_name}")
def user(user_name):
    return {"message": f"My name is {user_name}"}

이제 브라우저에서 http://localhost:8000/user/raccoony를 입력해봅시다. 다음과 같은 결과가 나온다면 성공입니다.

{
  "message": "My name is raccoony"
}

실습 과제 #1

앞서 만들었던 multiply API가 쿼리 파라미터 대신 경로 파라미터를 받도록 수정해보세요.

@app.get("/multiply/{x}/{y}")
def multiply(x, y):
    return {"result": int(x) * int(y)}
{
  "result": 2
}

FastAPI의 자동 문서화 살펴보기

feat. OpenAPI

FastAPI는 등록된 API 함수들의 입출력 선언을 분석하여, API 문서를 자동으로 만들어줍니다. 지금까지 만든 API들의 문서를 보고 싶다면 브라우저에서 http://127.0.0.1:8000/docs 링크를 열어보세요.

FastAPI가 자동으로 만들어 준 API 문서

API 문서에는 지금까지 우리가 만들었던 API들이 보입니다. 아무 API나 선택해보면 다음처럼 API의 세부 사항을 확인할 수 있습니다.

API 제목 부분을 선택하면 API 상세 내역이 보여요

API 우상단의 흰색 Try it out 버튼을 눌러보세요. API 상세 화면과 비슷하지만 조금 다르게 생긴 화면에서는 파라미터 폼에 값을 입력하고 API를 실행해 볼 수 있습니다. API를 실행하려면 파란색 Execute 버튼을 누르세요.

Try it out 버튼을 누르면 API를 실행해 볼 수도 있어요

API 실행 후에는 다음과 같이 실행 결과가 나타납니다.

Execute 버튼을 누르면 실행 결과가 나타나요

요약

  • 경로 파라미터를 다루어 보았습니다.
  • FastAPI의 자동 문서화 도구를 살펴보았습니다.

그 다음 편에서는...

정말 기초적인 FastAPI 튜토리얼 #3 - 입력 데이터 검증에서는 다음 내용을 다룹니다.

  • 파이썬의 타입 힌팅
  • 타입 힌팅을 활용한 데이터 검증

COMMENTS

}