5. 본격적으로 API 개발하기
여기서는 트위터를 줄인 미니터를 구축합니다.
핵심 기능
- 회원가입
- 로그인
- 트윗
- 다른 회원 팔로우 하기
- 다른 회원 언팔로우 하기
- 타임라인
회원가입
필요한 정보
- id
- name
- email
- password
- profile
앞에서 만들었던 소스에 추가하여 개발합니다.
![](https://velog.velcdn.com/images%2Fjmkim87%2Fpost%2F24503ff5-d758-49b5-bb76-10e1ccd802fd%2FUntitled%204.png)
- POST method로 /sign-up 생성
- request json body로 넘어온 값을 new_user에 저장
- new_user에 id_count 추가
- 서버에서 생성한 users에 new_user 등록
- new_user를 json 상태로 return
![](https://velog.velcdn.com/images%2Fjmkim87%2Fpost%2F0ce2a2a9-4747-4620-9b07-8d1e757d2257%2FUntitled%205.png)
위 소스를 run 시키고 나서 postname으로 데이터를 보내보면 하단처럼 json으로 id와 함께 반환 됩니다.
300자 제한 트윗 글 올리기
body에 들어갈 데이터는 글쓴이의 id와 tweet body인 내용이 들어가야합니다. 단 300자가 넘어가면 400 error를 return 해야합니다.
![](https://velog.velcdn.com/images%2Fjmkim87%2Fpost%2F9dd83859-d66d-4a7a-9d96-b2c11f8c728e%2FUntitled%206.png)
- POST method로 /tweet 생성
- request json body를 payload에 저장
- payload[id]는 user_id
- payload[tweet]는 tweet content
- user가 존재하지 않던가 tweet가 300자 넘어가면 400 error
- 정상적이면 tweets에 저장하고 200 return
![](https://velog.velcdn.com/images%2Fjmkim87%2Fpost%2F67d7da63-5059-4fb6-aa4a-c258071312dc%2FUntitled%207.png)
위에서 tweet가 301자여서 400 error가 난 것을 확인 가능합니다.
팔로우 언팔로우 엔드포인트
팔로우/언팔로우에 보낼 body json은 사용자 id와 팔로우할 id 입니다.
![](https://velog.velcdn.com/images%2Fjmkim87%2Fpost%2Fa585899a-b6a9-493c-b6bc-8c4028a9f90b%2FUntitled%208.png)
- POST method로 follow, unfollow 생성
- 각각 id와 follow_id or unfollow_id를 체크하고 그에 맞는 루틴 적용
타임라인
필요한 body json 입니다.
- 해당 사용자의 아이디
- 해당 사용자와 사용자가 팔로우하는 사용자들의 트윗 리스트
- 해당 트윗을 올린 사용자 아이디
- 트윗 내용
![](https://velog.velcdn.com/images%2Fjmkim87%2Fpost%2Fc1883344-d29e-4f2f-8765-92a106c64b07%2FUntitled%209.png)
- GET method로 /timeline에서 int형을 받는 주소로 int는 user_id로 값을 받습니다.
- users에서 해당 사용자를 follow를 하는 list를 받아오고
- timeline에 tweet를 넣고 반환합니다.