Flask-RESTful은 Flask 프레임워크를 기반으로 한 RESTful API를 쉽게 개발할 수 있게 해주는 라이브러리입니다. 이 라이브러리를 이용하여 폼 데이터를 처리하는 방법을 알아보겠습니다.
1. Request Parsing 설정
Flask-RESTful에서 폼 데이터를 처리하기 위해서는 먼저 RequestParser
를 설정해야 합니다. RequestParser
는 클라이언트로부터 요청된 데이터를 파싱하여 사용할 수 있게 해줍니다.
from flask_restful import Resource, Api, reqparse
app = Flask(__name__)
api = Api(app)
parser = reqparse.RequestParser()
parser.add_argument('data', type=str, help='Data field is required')
위의 코드에서 RequestParser()
를 사용하여 parser
객체를 생성하고, add_argument()
메서드를 사용하여 요청 파라미터를 정의합니다. 위의 예시에서는 “data”라는 이름의 문자열 타입의 필드를 요청 파라미터로 설정하였습니다.
2. POST 요청 처리
폼 데이터는 주로 POST 요청으로 전송되기 때문에, POST 메서드를 사용하여 데이터를 처리할 수 있습니다.
class FormDataResource(Resource):
def post(self):
args = parser.parse_args()
data = args['data']
# 데이터 처리 로직 작성
return {'result': 'success', 'data': data}, 200
api.add_resource(FormDataResource, '/form-data')
위의 코드에서는 FormDataResource
라는 리소스 클래스를 생성하여 POST 메서드를 처리합니다. parse_args()
메서드를 사용하여 요청 파라미터를 파싱하고, data
필드의 값을 가져옵니다. 가져온 데이터를 이용하여 필요한 로직을 처리한 뒤, 결과를 JSON 형태로 반환합니다.
3. 클라이언트에서 폼 데이터 전송하기
클라이언트에서는 POST 메서드를 사용하여 폼 데이터를 전송할 수 있습니다. 아래는 Python의 requests 라이브러리를 이용한 예시입니다.
import requests
url = 'http://localhost:5000/form-data'
data = {'data': 'example data'}
response = requests.post(url, data=data)
print(response.json())
위의 코드에서는 requests.post()
메서드를 이용하여 POST 요청을 보냅니다. data
매개변수에 전송할 데이터를 딕셔너리 형태로 설정합니다. 전송된 데이터를 받아온 결과를 출력합니다.
위의 방법을 따라 Flask-RESTful에서 폼 데이터를 처리하는 방법을 알아보았습니다. 이를 기반으로 원하는 로직을 추가하여 API를 개발할 수 있습니다.