개발 일지/웹개발 종합반

[스파르타]웹개발 종합반 - 4주차(#GET/POST 요청)

혬코 2021. 12. 24. 08:30

※ 실제 수강시 다른 곳에 작성했던 원고를 다시 포스팅한 것으로 포스팅 일자와 실제 개발일지 작성 일자는 다릅니다.

4주차 목표-!

1) Flask 프레임워크를 활용해서 API를 만들 수 있다.
2) '모두의책리뷰' API를 만들고 클라이언트에 연결한다.
3) '나홀로 메모장' API를 만들고 클라이언트와 연결한다.


3주차에 이어 본격적인 백엔드의 세계로 진입한 4주차다.


​배운 점

파이썬의 Flask 프레임워크를 이용하여 로컬 개발 환경에서 서버를 구축하고 클라이언트와 통신하는 법을 배웠다.

- static 폴더(이미지, CSS, js), templates 폴더(HTML), app.py 파이썬 파일 : 통상적으로 폴더 셋팅

GET 요청 API 코드 / 요청 확인 Ajax 코드

@app.route('/test', methods=['GET']) 
def test_get(): 
   title_receive = request.args.get('title_give') 
   print(title_receive) 
   return jsonify({'result':'success', 'msg': '이 요청은 GET!'})
$.ajax({ 
    type: "GET", 
    url: "/test?title_give=봄날은간다", 
    data: {}, 
    success: function(response){ 
       console.log(response) 
    } 
})


POST 요청 API 코드 / 요청 확인 Ajax 코드

@app.route('/test', methods=['POST']) 
def test_post(): 
   title_receive = request.form['title_give'] 
   print(title_receive) 
   return jsonify({'result':'success', 'msg': '이 요청은 POST!'})
$.ajax({ 
    type: "POST", 
    url: "/test", 
    data: { title_give:'봄날은간다' }, 
    success: function(response){ 
       console.log(response) 
    } 
})

결과물

이름, 수량, 주소, 전화번호를 입력하고 주문하기를 누르면, "주문을 완료했습니다!"라는 alert이 뜨고

mongoDB에 데이터가 저장된 것을 Robo 3T로 확인할 수 있다.

그리고 화면에는 서버에서 받아온 이름, 수량, 주소, 전화번호 데이터가 출력된다.

​마무리 멘트

서버쪽과 클라이언트쪽을 왔다갔다하며 요청 종류에 따라 처리하는 과정이 조금 헷갈리고, 아직까지는 손에 익지않아서 계속 강의자료를 확인하며 하게된다. 또 어떤게 POST 요청이고 어떤데 GET 요청인지도 아직 개념이 확 잡히지 않은 것 같아서 계속 연습을 해봐야 될 것 같다.

# Run.app하고 수정하면서 localhost:5000 리로딩시 오류가 뜨면 파이참의 터미널창에서 오류를 확인하자!