본문 바로가기

개발/Flask, Fastapi

flask에서 request.args.get()의 의미

requests와 request의 차이

request : from flask import request

requests : pip install requests → pip로 설치한 내부 라이브러리.

 

HTTP GET

자바스크립트의 object는 파이썬 딕셔너리와 비슷함.

요청이 들어오면 응답을 하는데, json(Javascript Objext Notation) 형태로 주고받을 수 있다.

 

requests.get('사이트주소') → 사이트에 http 요청 보내기.

정상적으로 실행되면 http 응답 객체인 <Response [200]>이 리턴됨

 

response = requests.get('사이트주소') 식으로 만들어

response.json() 하면 딕셔너리를 볼 수 있다.

 

이를 또 변수화해

json_data = response.json()

json_data['key'] 로 value를 조회할 수 있다.

 

flask로 임포트한 request를 쓴다면 request.get_json('key') 와 같다.

from flask import request
request.get_json() # json 데이터를 가져온다
request.get_json('key') #key값으로 value를 바로 조회

 

여기서 get_json과 args.get 의 결과가 같다.

둘 다 json 형식의 데이터를 리턴하기 때문이다.

request.get_json('key')
request.args.get('key') #  결과가 같다

 

만약 key를 이미 알고 있다면(어떤 데이터를 조회하고 싶은 지 안다면)

request.args.get('key') 로 원하는 데이터를 바로 받아올 수 있다.

 


POST 메서드의 경우, 데이터를 주고받을 때 http body에 들어가기 때문에 form에서 데이터를 전송한다.

request.form['key'] 형식으로 데이터를 받는다.