[python] Flask-RESTful을 활용한 파일 업로드 기능 구현하기
Flask-RESTful은 Flask 프레임워크를 기반으로 한 RESTful API를 간편하게 구현할 수 있게 도와주는 라이브러리입니다. 이번 예제에서는 Flask-RESTful을 사용하여 파일 업로드 기능을 구현하는 방법에 대해 알아보겠습니다.
필수 패키지 설치
먼저 Flask-RESTful을 설치해야 합니다. 아래 명령을 사용하여 패키지를 설치합니다.
pip install flask-restful
파일 업로드 API 구현하기
from flask import Flask, request
from flask_restful import Api, Resource
app = Flask(__name__)
api = Api(app)
class FileUpload(Resource):
def post(self):
file = request.files['file']
if file:
file.save('uploads/' + file.filename)
return {'message': '파일 업로드가 완료되었습니다.'}, 201
else:
return {'error': '파일을 찾을 수 없습니다.'}, 400
api.add_resource(FileUpload, '/upload')
if __name__ == '__main__':
app.run(debug=True)
위의 코드는 Flask-RESTful을 사용하여 파일 업로드 기능을 구현한 예제입니다. POST 요청을 받으면 file
이라는 이름으로 전달된 파일을 저장하고, 파일이 성공적으로 업로드되었을 경우에는 {'message': '파일 업로드가 완료되었습니다.'}
와 상태 코드 201을 반환합니다. 파일이 없을 경우에는 {'error': '파일을 찾을 수 없습니다.'}
와 상태 코드 400을 반환합니다.
테스트
위의 예제 코드를 실행한 후, POSTMAN과 같은 API 테스트 도구를 사용하여 파일을 업로드해보세요. http://localhost:5000/upload
에 POST 요청을 보내면 파일이 성공적으로 업로드되는지 확인할 수 있습니다.
결론
이번 예제에서는 Flask-RESTful을 활용하여 파일 업로드 기능을 구현하는 방법에 대해 알아보았습니다. Flask-RESTful은 간편한 구현 방식과 다양한 기능을 제공하여 RESTful API 개발을 용이하게 해줍니다. 파일 업로드와 같은 기능을 구현할 때에도 Flask-RESTful을 활용하면 효율적으로 개발할 수 있습니다.