[파이썬] Flask의 RESTful API 개발

Flask는 Python으로 작성된 경량급 웹 프레임워크로, 간단하고 확장 가능한 웹 애플리케이션을 개발하기에 이상적입니다. 이번 블로그 포스트에서는 Flask를 사용하여 RESTful API를 개발하는 방법을 알아보겠습니다.

RESTful API란?

REST(Representational State Transfer)는 웹 기반 아키텍처 스타일로, 클라이언트와 서버 사이의 통신을 위한 규칙 집합입니다. RESTful API는 이러한 규칙에 따라 구현된 API를 의미하며, HTTP 메소드(GET, POST, PUT, DELETE 등)를 사용하여 리소스에 접근하고 조작합니다.

Flask RESTful 라이브러리

Flask는 RESTful API를 개발하기 위한 다양한 라이브러리를 제공합니다. 가장 인기 있는 라이브러리 중 하나는 Flask-RESTful입니다. 이 라이브러리는 Flask와 함께 사용하기 쉽고 직관적인 API 개발에 도움이 됩니다.

Flask-RESTful을 설치하려면 다음 명령어를 사용하십시오:

pip install flask-restful

API 개발하기

API를 개발하기 위해서는 Flask-RESTful이 제공하는 Resource 클래스를 상속받아 각 리소스에 대한 엔드포인트를 구현해야 합니다. 예를 들어, User 리소스를 다루는 API를 개발한다고 가정해보겠습니다.

from flask import Flask
from flask_restful import Resource, Api

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

class UserResource(Resource):
    def get(self, user_id):
        # 사용자 정보 조회 로직
        return {'user_id': user_id}

    def post(self):
        # 사용자 생성 로직
        return {'message': 'User created'}

    def put(self, user_id):
        # 사용자 정보 업데이트 로직
        return {'user_id': user_id, 'message': 'User updated'}

    def delete(self, user_id):
        # 사용자 삭제 로직
        return {'user_id': user_id, 'message': 'User deleted'}

api.add_resource(UserResource, '/users', '/users/<int:user_id>')

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

위 코드에서 UserResource 클래스는 Resource 클래스를 상속받아 구현한 것으로, get, post, put, delete 메소드를 오버라이드하여 각각의 HTTP 메소드에 대한 동작을 정의하고 있습니다. add_resource 메소드를 사용하여 리소스를 엔드포인트에 매핑시켰습니다.

API 실행하기

API를 실행하기 위해서는 다음 명령어를 실행하십시오:

python app.py

API가 성공적으로 실행되면 http://localhost:5000/users로 접속하여 API에 접근할 수 있습니다.

결론

이번 포스트에서는 Flask를 사용하여 RESTful API를 개발하는 방법을 알아보았습니다. Flask-RESTful 라이브러리를 사용하면 API 개발과 관련된 많은 기능을 쉽게 구현할 수 있습니다. Flask와 Flask-RESTful을 함께 사용하면 간편하고 유연한 API 개발이 가능합니다.