jam 블로그

깔끔한 파이썬 탄탄한 백엔드 -5- 본문

IT Book Study/깔끔한 파이썬 탄탄한 백엔드

깔끔한 파이썬 탄탄한 백엔드 -5-

kid1412 2020. 9. 3. 22:43
728x90

5. 본격적으로 API 개발하기

여기서는 트위터를 줄인 미니터를 구축합니다.

핵심 기능

  • 회원가입
  • 로그인
  • 트윗
  • 다른 회원 팔로우 하기
  • 다른 회원 언팔로우 하기
  • 타임라인

회원가입

필요한 정보

  • id
  • name
  • email
  • password
  • profile

앞에서 만들었던 소스에 추가하여 개발합니다.

  • POST method로 /sign-up 생성
  • request json body로 넘어온 값을 new_user에 저장
  • new_user에 id_count 추가
  • 서버에서 생성한 users에 new_user 등록
  • new_user를 json 상태로 return

위 소스를 run 시키고 나서 postname으로 데이터를 보내보면 하단처럼 json으로 id와 함께 반환 됩니다.

300자 제한 트윗 글 올리기

body에 들어갈 데이터는 글쓴이의 id와 tweet body인 내용이 들어가야합니다. 단 300자가 넘어가면 400 error를 return 해야합니다.

  • POST method로 /tweet 생성
  • request json body를 payload에 저장
  • payload[id]는 user_id
  • payload[tweet]는 tweet content
  • user가 존재하지 않던가 tweet가 300자 넘어가면 400 error
  • 정상적이면 tweets에 저장하고 200 return

위에서 tweet가 301자여서 400 error가 난 것을 확인 가능합니다.

팔로우 언팔로우 엔드포인트

팔로우/언팔로우에 보낼 body json은 사용자 id와 팔로우할 id 입니다.

  • POST method로 follow, unfollow 생성
  • 각각 id와 follow_id or unfollow_id를 체크하고 그에 맞는 루틴 적용

타임라인

필요한 body json 입니다.

  • 해당 사용자의 아이디
  • 해당 사용자와 사용자가 팔로우하는 사용자들의 트윗 리스트
  • 해당 트윗을 올린 사용자 아이디
  • 트윗 내용

  • GET method로 /timeline에서 int형을 받는 주소로 int는 user_id로 값을 받습니다.
  • users에서 해당 사용자를 follow를 하는 list를 받아오고
  • timeline에 tweet를 넣고 반환합니다.
Comments