[python] Flask-RESTful에서 API 문서를 자동으로 생성하는 방법

Flask-RESTful은 파이썬 웹 프레임워크인 Flask를 확장하여 RESTful API를 쉽게 구축할 수 있게 도와주는 도구입니다. 이 도구를 사용하면 API의 엔드포인트와 매개변수에 대한 문서를 자동으로 생성할 수 있습니다. 이번 글에서는 Flask-RESTful에서 API 문서를 자동으로 생성하는 방법에 대해서 알아보겠습니다.

Swagger UI 사용하기

Swagger UI는 API 문서를 생성하고 시각화하기 위한 도구입니다. Flask-RESTful에서 Swagger UI를 사용하여 API 문서를 자동으로 생성할 수 있습니다.

먼저, flask_swagger_ui 패키지를 설치해야 합니다. 아래 명령어를 사용하여 설치할 수 있습니다.

pip install flask-swagger-ui

설치가 완료되었다면, Flask 애플리케이션에 Swagger UI를 추가해야 합니다. 다음은 Flask 애플리케이션에 Swagger UI를 추가하는 간단한 예시입니다.

from flask import Flask
from flask_restful import Api
from flask_swagger_ui import get_swaggerui_blueprint

app = Flask(__name__)
api = Api(app)

# API 엔드포인트 등록
# ...

# Swagger UI 설정
SWAGGER_URL = '/swagger'
API_URL = '/swagger.json'
swaggerui_blueprint = get_swaggerui_blueprint(SWAGGER_URL, API_URL)
app.register_blueprint(swaggerui_blueprint, url_prefix=SWAGGER_URL)

if __name__ == '__main__':
    app.run()

위 예시에서 API_URL은 Swagger UI에서 사용할 API 문서의 경로입니다. 여기에는 API 엔드포인트와 매개변수에 대한 정보가 포함되어야 합니다. Flask-RESTful에서는 marshal_with 데코레이터를 사용하여 엔드포인트의 출력 형식을 지정할 수 있습니다. 이를 사용하여 API 문서에 필요한 정보를 제공할 수 있습니다.

Swagger UI 실행하기

위의 예시에서 Flask 애플리케이션을 실행하면 Swagger UI를 통해 자동으로 생성된 API 문서를 볼 수 있습니다. 웹 브라우저에서 http://localhost:5000/swagger로 접속하면 Swagger UI가 열리고 엔드포인트와 매개변수에 대한 정보를 확인할 수 있습니다.

참고 자료