jsonify를 꼭 써야 하나요?
1446
작성한 질문수 90
영상 8분 35초 부근 입니다.
영상을 보다가
return_data 는 이미 json 파일 형식인데
왜 jsonify를 또 해야할까 하는 생각이 들었습니다
@app.route('/login')
def login():
username = request.args.get('user_name')
passwd = request.args.get('pw')
email = request.args.get('email_address')
print(username, passwd, email)
if username == 'dave':
return_data = {'auth': 'success'}
else:
return_data = {'auth': 'failed'}
return return_data
그래서 위와 같이 jsonify를 빼고 코드를 작성해도
아래와 같이
httpie 에서 정삭적으로 값이 출력됩니다.

jsonify를 적용 안하면 나중에 문제가 생기는지 궁금합니다!!
답변 1
7
안녕하세요. 좋은 질문같아요. ㅎㅎ
일단, 파이썬에서 해당 데이터는 데이터 타입은 사실 사전이잖아요. 그래서 사전 데이터를 바로 리턴할 경우, 해당 데이터가 전달되기는 하지만, HTTP header 에 MIME Type 이 application/json 으로 명시가 되지 않았던 적이 있습니다. jsonify 로 리턴하면, 명시적으로 HTTP header 에도 MIME Type 이 application/json 으로 기재가 되고, 수신측에서도 이를 기반으로 적합하게 해당 데이터를 처리했다고 보시면 됩니다.
그런데, 꾸준히 웹이나, flask 가 개선되다보니, 최근에는 사실 그렇게 하지 않고, 막바로 사전 데이터를 보내도, 알아서 HTTP header 에도 MIME Type 이 application/json 으로 기재도 되고, 수신측에서도 꼭 굳이 저런 타입을 안붙여도 크게 무리 없이 처리가 가능한 것으로 이해가 됩니다.
json 데이터로 정확히 전달되기 위해, 필요한 기능들을 jsonify 가 완벽하게 해주었는데, 최근에는 jsonify 가 아니더라도 flask 에서 관련 기능들을 자동으로 해주고, 수신측도 완벽하지 않더라도, 가능한 처리를 해주는 상황이다 라고 이해를 해주시면 좋을 것 같습니다. 그래도 공식적인 것은 jsonify 를 json 데이터를 리턴할 때는 써준다 정도로 이해해보시면 어떨까요?
감사합니다.
강의 자료 어디서 다운받나요? 없는데요..
0
159
1
강의 영상은 안나오고 소리만 나옵니다.
0
182
1
섹션 6 인증 failed 질문
0
157
1
섹션 8 flask 다양한 기능: 다양한 데코레이터 before_first_request 문의
0
368
3
192.168.0.12:8085??
0
157
1
04_flask_ABTest에서 blog_abtest.py 실행 시 오류입니다.
0
172
1
수업내용 질문 건
0
191
1
brew로 mysql 설치 후 서버 실행할 때, 터미널에서 anaconda bin 참조하는 문제
0
677
2
crossorigin 프로퍼티에 대해서 질문드립니다.
0
290
1
강의자료 다운로드 문의드립니다.
1
272
1
갑자기 웹 서버 띄울때 이상하게 나옵니다
0
317
1
가장빠른 Vue와 flask, 그리고 REST API 1 강의 질문입니다. (2)
0
350
1
가장빠른 Vue와 flask, 그리고 REST API 1 강의 질문입니다.
0
328
2
Fast api 추가 강좌 개설여부 질문드립니다!.
0
321
2
flask_cors설치 오류
0
622
2
부스트랩 html 다운
0
259
1
혹시 강의자료 공유가 가능한가요?
0
358
1
소스코드는 어디에 있을까요??
1
258
1
안녕하세요 몇가지 질문이 있습니다.
0
342
1
동적함수생성 질문드립니다.
1
635
2
(강의명) flask 로 Rest API 구현과 테스트 실행 : 오류 문의
0
579
1
백엔드 데코레이터 2 강의에 도전 문제 질문드립니다
0
292
1
몽고 DB 공식홈페이지 403 접속 에러 발생합니다.
1
630
3
04._flask_ABTest Pycharm 에서 실행오류
0
496
1





