GET & POST 요청 방식으로 Flask API 만들기
클라이언트가 서버에 통신을 요청할 때 여러방식이 있는데 기본적으로 HTTP(HyperText Transfer Protocol) 통신 규약에 따라 요청을 해야한다.
GET & POST 요청 방식
* GET → 보통 데이터 조회(Read)를 요청할 때 사용한다. 예) 영화 목록 조회
- 데이터 전달 형태 : URL 뒤에 물음표를 붙여 key=value로 전달 → 예: google.com?q=북극곰
* POST → 보통 데이터 생성(Create), 변경(Update), 삭제(Delete) 요청 할 때 사용한다. 예) 회원가입, 비밀번호 수정
- 데이터 전달 형태 : 바로 보이지 않는 HTML body에 key:value 형태로 전달
GET, POST 요청으로 클라이언트 데이터 받는 방법
예를 들어 회원가입 시(join), GET, POST 요청으로 API를 만든다고 가정해보자.
GET 방식으로 JOIN 페이지의 이름(name)을 조회(Read)하는 API를 만들 수 있다.
GET 방식으로 요청한 data는 아래의 Ajax 형태에 담겨서 전달된다.
GET 요청 API코드
@app.route('/join', methods=['GET'])
def join_get():
name_receive = request.args.get('name_give') #'name_give'라는 key값
print(name_receive)
return jsonify({'result':'success', 'msg': 'GET 요청!'})
GET 요청 확인(콘솔) Ajax 코드
$.ajax({
type: "GET",
url: "/join?name_give=jann",
data: {},
success: function(response){
console.log(response)
}
})
GET 방식 데이터 전달 방법
url : ? : 여기서부터 전달할 데이터가 작성된다 ( & : 전달할 데이터가 더 있다)
data : {} 요청하면서 함께 줄 데이터로 GET 요청시엔 비워둔다.
POST 요청 API코드
@app.route('/join', methods=['POST'])
def join_post():
name_receive = request.form['name_give']
print(name_receive)
return jsonify({'result':'success', 'msg': 'POST 요청!'})
POST 요청 확인 Ajax코드
$.ajax({
type: "POST",
url: "/join",
data: { name_give:'jann' },
success: function(response){
console.log(response)
}
})
GET, POST 요청 차이점
GET, POST 요청 시 url 형태, data {} 담기는 형태의 차이가 있다.
GET 요청 url에섯 key:value 값이 담기는 데 반해, POST 요청 시 /join 등의 url 형태이다.
그리고 GET 요청 시 data: {} 비어있는데 반해, POST 요청 시 data: {key:'value'} 담긴다.
비교적 적은 양의 데이터는 GET 요청(default 값이기도 하다), 전송하는 데이터 양이 많을 때는 POST 방식을 사용한다.
'Python' 카테고리의 다른 글
[python flask] 파이썬 플라스크 기본 : 웹 서버 설정하기 (0) | 2022.02.04 |
---|---|
파이썬에서 파이몽고 사용 : pymongo로 mongoDB 활용 (0) | 2022.01.31 |
[Python] 파이썬 패키지 사용법 : import requests (0) | 2022.01.30 |
[Python] 파이썬 자료형, 함수, 조건문, 반복문 (0) | 2022.01.29 |
[Python Crawling] 파이썬 음악 순위 크롤링(스크랩핑) (0) | 2022.01.28 |
댓글