MongoDB

[Framework] Flask GET, POST 요청

차돌박이츄베릅 2023. 4. 19. 10:23

GET 요청 : 통상적으로 데이터 조회(Read)를 요청할 때, 사용. URL 뒤에 물음표를 붙여 key=value로 데이터 전달

POST 요청 : 통상적으로 데이터 생성(Create), 변경(Update), 삭제(Delete) 요청 할 때 사용. 바로 보이지 않는 HTML로 데이터 전달


from flask import Flask, render_template, request, jsonify

...

 

GET 요청 API 코드 (app.py)

@app.route('/test', methods=['GET'])
def test_get():
   title_receive = request.args.get('title_give')
   print(title_receive)
   return jsonify({'result':'success', 'msg': '이 요청은 GET!'})

라인1) /test라는 창구로 GET요청으로 들어온다

라인3) title_give라는 데이터가 있으면 title_receive라고 하는 변수에 넣자

라인5) 백엔드에서 프론트엔드 데이터 내려주기를 어떻게? result는 success, msg는 '이 요청은 GET!' 이라고 내려줌

 

GET 요청 확인 Fetch 코드 (index.html)

fetch("/test").then(res => res.json()).then(data => {
    console.log(data)
})

라인1) /test라고 하는 url에다가 요청을 해서 뭔가 데이터를 받아서

라인2) 그걸 콘솔에 찍자 

 

 


POST 요청 API 코드 (app.py)

@app.route('/test', methods=['POST'])
def test_post():
   title_receive = request.form['title_give']
   print(title_receive)
   return jsonify({'result':'success', 'msg': '이 요청은 POST!'})

라인1) /test에 POST로 들어온다

라인3) title_give라는 어떤 데이터가 들어오면 title_receive = '블랙팬서'

라인5) 끝났으면 이렇게 데이터를 내려줘

 

POST 요청 확인 Fetch 코드 (index.html)

let formData = new FormData();
formData.append("title_give", "블랙팬서");

fetch("/test", { method: "POST", body: formData }).then(res => res.json()).then(data => {
    console.log(data)
})

라인1) formData라는 친구를 만들어서 데이터를 실어보냄

라인2) 데이터가 쌓임

라인4) 그 데이터(formData)를 가지고 /test라고 하는데에다 보냄. fetch가 보내는거