파비의 매일매일 공부기록

깔끔한 파이썬 탄탄한 백엔드 - #5 본격적으로 API 개발하기 본문

Study/Python

깔끔한 파이썬 탄탄한 백엔드 - #5 본격적으로 API 개발하기

fabichoi 2021. 8. 1. 23:30

이번장에서는 트위터 like 한 서비스를 예제로 '미니터' API를 만든다.

책에서 소개된 소스는 https://github.com/rampart81/python-backend-book/ 에서 확인 가능하다.

이 포스팅에서는 책에 나온 소스는 따로 넣지 않을 것이다. 굳이 깃헙에 있는 걸 올릴 필요가..

 

구현해야 하는 기능은 다음과 같다.

- 회원가입

- 로그인

- 트윗

- 다른 회원 팔로우 하기

- 다른 회원 언팔로우 하기

- 타임라인(해당 사용자 & 사용자가 팔로우하는 사용자들의 트윗들 표시)

 

보통은 DB에 테이블 등 모델링이 끝난 다음에 API를 만드는데

이 책에서는 API를 만들고 DB 쪽 작업을 진행한다.

아래에는 각 구현 기능들에 대해 필요한 요소들에 대한 설명이 소개된다.

 

회원가입

- id / name / email / password / profile의 필드

- 예제에서는 id를 1부터 시작해서 1씩 증분 하는 형태로 만드는데, 보통은 db에서 auto increment로 자동 생성해줌

 

트윗

- 300자 초과하면 400 Bad Request, 300자 이하면 글 올리기 수행

- 예제에서는 authentication을 단순 id로 구현하나, 실제로는 보안 이슈로 token 등 다른 수단을 사용(이게 사실 핵심인데 ㅠㅠ 다음에 나오는 장 들에서 소개한다니 일단 패스) 

 

팔로우/언팔로우

- JSON 엔코더 소개됨

 

타임라인

- DB가 없는 상태라 타임라인의 응답 결과를 제대로 보려면 서버 시작 후 사용자 생성, 트윗 생성, 팔로우 등의 사전 작업을 거쳐야 함.

 

소스 실행 후기

- pycharm 초기 설정이 필요. Edit configurations에서 module로 바꾸고 flask 입력. parameters는 run. FLASK_ENV, FLASK_APP은 Environment variables에 추가하면 됨. (https://krksap.tistory.com/1750)

반응형
Comments