Flask ( Jupyter )
from flask import Flask, request, redirect, jsonify
from flask_cors import CORS
# 플라스크 객체 생성
# __name__: 현재 파일의 이름을 뜻함
app = Flask(__name__) # 현재 파일에는 당연히 Flask 가 들어가있음
# 플라스크 객체를 CORS 함수로 감싸주자 -> 동일 출처 규약을 해소
CORS(app)
# =========================================================================== #
# ★요청과 실행 함수 정의★
# Servlet --> @WebServlet("/test")
# (문자열로 url맵핑이 들어가야 함, method가 배열형태로 들어감)
@app.route("/test" # url - mapping
, methods=['GET','POST']) # 어떤 요청 방법으로 받을거냐 (지금은 두개 다 있으니까 두개 다 로 받을 수 있음)
def test():
# 만약, /test 요청이 들어오면, test() 함수를 실행하겠다
# service 메서드 역할을 한다고 보시면 됨
print(test)
# 1. 데이터 수집 (쉬움)
# Get과 post 방식의 수집 방법이 다름
if request.method == 'GET':
# get 방식으로 요청을 했다
# /test?num1=50&num2=500
# request.getParameter("num1")
# 모든 파라미터 (ImmutableMultiDict -> dict 로 쉽게 변환이 됨)
print(dict(request.args))
else:
# post 방식으로 요청을 했다
# post방식에서는 데이터를 수집할 때, args 가 아니라 forms 를 사용한다
# print("post")
print(dict(request.forms))
# 2. 기능 구현
# 3. 응답
# out.print() 와 같은 역할 (응답을 문자열로 직접 작성)
# JSON 데이터 응답을 자주 함
return "123"
# 나는 /check 도 받을래
@app.route("/check")
def check():
print(check)
data={
"key1":"value1",
"key2":"value2"
}
# JSON 데이터를 응답하고 싶다면, dict나 list 형태로 만들고,
# jsonify 함수를 사용해서 JSON 데이터로 변환
return jsonify(data)
# =========================================================================== #
# 플라스크 서버 구동
if __name__ == "__main__":
# 현재 실행되는 파일의 __name__ 변수값이 __main__
# 이 파일이 실행중이니? py 로 쓸 때 필수
app.run(host= '59.3.58.20' # 누구 컴퓨터 (cmd 창 -> ipconfig -> ipv4 주소)
, port= 5500) # 몇 번 포트