☀️ https://github.com/2JYK/iPark_django_backend ☀️
☀️ https://github.com/2JYK/iPark_frontend ☀️
💨 오늘의 고민:
어제, 오늘 계속 최종 S.A 수정하고 (팀장이 바톤터치를 원하길래 해줬는데.. 할 일이 은근 많은 팀장직..ㅎ..)
맡은 구역 API 작성하고 수정하고,
json파일 수정하고 DB 수정하고,
테스트 코드 작성하며 작성한 함수 리팩토링 진행하니 진도가 안나간ㄷㅏ..
리팩토링 끝내고 소셜부분도 작성하고 프론트도 작성하고 다음주 초에는 CI를 해야할텐데 갈 길이 멀다!
앞으로 더 리팩토링을 하겠지만 작성한 코드를 리뷰하고자 함
☀️ 공원 상세페이지
filter와 get을 잘 구별하고 내가 원하는 데이터가 뭔지 그려본 다음 사용하기
- 공원의 pk값을 받아와 매개변수(parameter)로 넣어주고 그 값을 url로 지정
- 해당 공원의 모든 field값을 직렬화(serializer)하여 JSON형태의 데이터로 변환함
- 여기서 ParkDetailSerializer은 Park모델의 시리얼라이저로, 댓글에 대한 필드가 없어 따로 코드 작성하여
공원 상세페이지에서 공원 정보와 함께 댓글들도 같이 볼 수 있게 함
☀️ 댓글 작성
테스트 코드를 진행하다보니 status에 따른 코드 작성이 필요하다는 것을 느끼니 코드가 점점 늘어나고 있습니다..
- 우선 공원 상세페이지는 모든 이용자가 조회가 가능하기 때문에, 댓글 작성시 권한부여가 필요
-> 회원 / 비회원 구별 -> 비회원 : status, 401
-> 회원 -> 댓글이 올바르게 작성된 경우 : 댓글 저장 성공
-> 공란으로 작성할 경우 : status, 400
현재 validate 함수와 create 함수는 필요성을 못느껴 작성하지 않음
☀️ 댓글 수정
해당 api의 url은 'park/<park_id>/comment/<comment_id>/ '로 고민을 많이 했던 부분으로
사실 park_id 부분이 없어도 되나 url이 넘기다 보면 물 흐르듯이 url만 보고도 어디에서 뭘 하는구나를 알게끔 만들고 싶었다.
여기서 문제를 많이 겪었었는데, comment_id는 정의하기가 쉬워 수정하는데에 별다른 어려움은 없었다.
하지만, comment_id의 내용을 수정할 때에 request에서 park_id를 잘못 지정을 했을 경우 park_id도 같이 변경되는 일이 발생되어
park_id 부분을 버릴까도 고민을 많이 했고 실제로도 없이 진행을 했었다.
하지만 테스트코드를 작성해가며 리팩토링을 진행하다 마지막에 질척이는 마음으로 url 을 바꿔보니 해결이 되있었음
여윽시.. 테스트 코드.. + 포스팅을 써보니 회원/비회원 구별 조건도 넣어야겠다.
- comment 는 로그인한 회원이 작성한 댓글로 지정
- try, except 문을 사용해 로그인한 회원 작성 댓글이 없을 경우를 제외해줌 : status, 404
- 댓글이 있는 경우 -> 댓글내용이 새로 (수정)입력되는 댓글 내용과 일치할 경우 : status, 400
-> 댓글이 올바르게 작성된 경우 : 댓글 성공
-> 공란으로 작성할 경우 : status, 400
☀️ 댓글 삭제
사실 수정만 작성되면 삭제부분은 너무 쉽게 진행되는 부분이지만, 다시 보니 빈틈 투성인듯하다.
회원/비회원 구별 조건도 넣고 매개변수에 park_id 값도 넣어줘야겠다..
- try, except 문을 사용해 로그인한 회원 작성 댓글이 없을 경우를 제외해줌 : status, 404
- comment 는 로그인한 회원이 작성한 댓글로 지정
'PROJECTS' 카테고리의 다른 글
Team Project 6 | 7월 14일 | (0) | 2022.07.14 |
---|---|
Team Project 6 | 7월 13일 | (0) | 2022.07.14 |
Team Project 6 | 7월 11일 | 초기 설정 + circular importError (0) | 2022.07.12 |
Team Project 6 | iPark 프로젝트 기획서 (0) | 2022.07.08 |
Docker ✨ 프로젝트 설정/컨테이너이미지 생성,삭제/서버 연결/Docker repository 생성, 삭제까지 (0) | 2022.07.08 |