어제 팀 회의를 하면서 HTTP Status Code 를 팀 컨벤션을 정하기로 했다. 회의하면서 약간 의아했던 부분을 적어둔다.
* 다른 유저 A를 팔로우하는 경우, A가 탈퇴한 유저인 경우에 200번대 응답을 보내기로 정했다.
* 유저가 존재하지 않는 경우, 400번대 응답을 보내기로 했다.
이 부분이 잘 이해가 되지 않았다. 물론 일종의 약속이니까 그냥 진행해도 상관없지만 200번대 응답은 성공한 응답을 의미하는데 위의 예에서는 요청이 성공하지 않았는데 200번대 응답을 보내준다는게 뭔가 마음에 걸렸다. 또 탈퇴한 것과 유저가 존재하지 않는 것 이 두가지 모두 유저에게는 똑같이 서비스에 해당 유저가 존재하지 않는 것을 의미한다. 탈퇴와 존재하지 않음을 구분할 수 있는 이유는 순전히 유저를 완전히 삭제하는 방식이 아닌 soft delete 방식을 사용하기 때문이다.
이와 같은 맥락으로 도메인 로직에 의해 해당 요청이 실패하는 경우, 200번대 응답을 보내고 code 와 같은 필드로 실제로 어떤 이유로 실패했는지 처리하기로 했는데 실패한 요청에 200번대 에러를 보낸다는게 마음이 걸린다.
여전히 나도 답은 알 수 없다. 이 말도 맞는거 같고 저 말도 맞는거 같고.. 잘 마무리 되었지만 여전히 무언가 찝찝하다.
내가 당연하다고 생각하는 부분을 설득시키기는 너무 어렵다. 공부가 부족했기 때문이겠지..
'글 > 🐕🐾 일기' 카테고리의 다른 글
날아다니는 스파게티 코드에 대하여 (0) | 2023.02.27 |
---|---|
is_existed (0) | 2022.09.30 |
페이지네이션 (0) | 2022.08.27 |
주니어 개발자에게 필요한 경험 (0) | 2022.05.25 |
NestJS를 사용 후기 (0) | 2022.05.21 |