다재다능 개발자 성장기 🚀
항해99 👩💻61일차 TIL 본문
⭐ Final Project ⭐
1. 며칠전에 좋아요 기능을 구현하였는데 좋아요와 좋아요 취소의 API를 /like, /unlike로 따로 만들었었다. 그런데 생각해보니 이렇게 API를 두개로 나눠버리면 프론트단에서 좋아요 기능을 구현하실 때, 한 번 눌렀을 때는 좋아요(like), 두 번 눌렀을 때는 좋아요취소(unlike) 기능으로 또 가공을 하셔야된다는 점에서 불편하시겠다는 생각이 들었다.
그래서 오늘 두개로 나뉘어진 좋아요/좋아요 취소 API를 하나의 API로 합쳐준 다음, 동일한 userId가 또 같은 게시물에 좋아요(like)를 누르게되면 자동으로 좋아요 취소(unlike)가 동작하도록 코드를 수정해주었다. 개발환경상 프론트분들은 어쩔 수 없이 백엔드보다 시간이 더 걸리실 수 밖에 없으시니까 최대한 백엔드쪽에서 미리 할 수 있는만큼은 프론트분들이 편리하게 가공해서 드리는 게 전반적으로 시간 단축도 되고 서로에게 좋은 것 같다.
2. 지금까지 스웨거를 API명세서로 사용하고 있었는데 프로젝트가 진행되면서 수정되는 부분들을 바로바로 업데이트하고 프론트분들과 공유하는 부분에서 불편함을 느꼈다.
그래서 기술멘토님께 여쭤보니 스웨거는 목업용으로 사용하는 프로그램이고 프론트단과 공유하는 API명세서는 그냥 텍스트로 작성된 문서를 사용하는 게 좋다고 하셨다.
지금까지 스웨거를 실무에서 사용하는 API명세서라고 생각했었는데... 😅 그래서 초반에 항해에서 나누어준 API명세서 양식을 사용하여 실전프로젝트 API명세서를 다시 작성하고 변경된 부부은 수정한 뒤에 팀 Notion에 올려서 프론트분들과 공유하였다.
확실히 노션으로 API를 공유하니까 변경된 부분도 바로 빠르게 수정 가능하고, 확인하기도 쉽고, 소통하기에 수월해져서 좋은 것 같다👍.
🐣 Today I Learned 🐣
MongoDB에서 필요한 데이터만 추출하여 사용하는 방법.
const userinfo = await User.findOne(
{ userId },
"userId nickname profileImage snsUrl"
);
DB에서 사용하고 싶은 필드명들만 세 번째 줄과 같이 String형식으로 한 칸씩 띄워서 작성해주면, 해당 필드명에 부합하는 데이터만 추출된다. 불필요한 데이터는 거르고 프론트단에서 필요로하는 데이터만 보내고 싶을 때 유용하게 사용될 수 있다.
'항해99_6기_TIL' 카테고리의 다른 글
항해99 👩💻63일차 TIL/WIL (0) | 2022.05.08 |
---|---|
항해99 👩💻62일차 TIL (0) | 2022.05.07 |
항해99 👩💻60일차 TIL (0) | 2022.05.06 |
항해99 👩💻59일차 TIL (0) | 2022.05.05 |
항해99 👩💻58일차 TIL (0) | 2022.05.04 |