아래는 간단한 플라스크 서버이다.
from flask import Flask
app = Flask(__name__)
// methods 인자에 처리하고 싶은 http 메서드 기입
@app.route("/", methods=['POST'])
def handle_post():
return "POST working."
이렇게 코드를 작성하면 "/" 경로로 오는 POST 메서드만 처리하게 된다.
실제로 flask run
을 통해서 웹서버를 실행시키고 localhost:5000에 접속해보면
서버가 켜지긴 했으나 해당 메서드가 허용되지 않았다는 텍스트가 출력된다.
이는 우리가 웹사이트에 접속할 때 메서드가 GET이기 때문. 코드를 조금 바꿔서 GET과 POST를 모두 처리할 수 있게 해보자.
from flask import Flask, request
app = Flask(__name__)
@app.route("/", methods=['POST', 'GET'])
def handle_post():
if request.method == 'POST':
return "POST working."
elif request.method == 'GET':
return "GET working"
우리가 반환하려는 값이 제대로 반환되는 것을 볼 수 있다.
다른 메서드도 동일하게 @app.route()의 methods 인자를 이용해서 처리하면 된다.