해결된 질문
작성
·
292
1
안녕하세요 강사님.
15강. 유저 업데이트 API, 삭제 API 예외 처리 하기
유저 업데이트 API, 삭제 API 에 예외 처리해 주는 부분을 수강 중인데요
궁금한 점이 있어서 질문 남깁니다.
존재하지 않는 사용자에 대해서 수정하거나 삭제하려는 상황에 대해서 예외 처리를 해주고 있는데,
'존재하지 않는 사용자에 대해서 수정하거나 삭제하려는 경우'가 포스트맨을 이용하여 요청할 때는 일어날 수도 있는 경우겠지만,
사용자는 웹 UI를 이용해서 수정, 삭제하기 때문에 저런 경우가 아예 생기지가 않을 것 같은데,
(화면에 보이는 유저 리스트에서 선택하여 수정하거나 삭제하기 때문에)
그런데도 예외 처리를 해줘야 하는 이유가 있는지 궁금합니다.
답변 1
1
안녕하세요, alice님! 정말 좋은 질문 감사드립니다~ 🙂
alice님께서 말씀해주신 내용이 맞아요! 👍 현재 웹 UI 상으로는 화면에 보여지는 유저를 대상으로만 업데이트 / 삭제 처리를 할 수 있기 때문에 굳이 존재하지 않는 사용자에 대해 처리를 해줄 필요가 없다고 느끼실 수 있습니다.
다만, 2가지 관점에서 말씀드려보겠습니다.
[1. 정말 존재하지 않는 사용자에 대한 요청이 오지 않을까?]
이런 경우를 생각해봅시다!
크롬 창을 2개 열겠습니다. 그리고 2개의 창 모두 유저 목록을 들어가겠습니다.
자 이제 1번 크롬창에서 보이는 첫 번째 유저를 삭제 하도록 하겠습니다.
그럼 실제 DB에는 첫 번째 유저가 없지만 2번 크롬창에서는 여전히 삭제된 유저가 보일겁니다!
그리고 이제 2번 크롬창에서 해당 유저를 삭제하려고 하면
"존재하지 않는 사용자에 대한 요청이 웹 UI를 통해" 일어날 수 있게 되죠
[2. 요청이 웹 UI로만 올까?]
https://techblog.woowahan.com/2645/ 의 "사용자는 다 안다, 사용자의 입력은 무조건 검증한다"를 읽어보시면 도움이 될 거에요!
또한 사실 개발을 조금 아는 사용자라면 꼭 웹 UI로 접근하는 것이 아니라, 개발자 도구를 이용해 API를 확인한 이후 API로 직접 접근할 수 있습니다.
"물론, 직접 API가 호출되어 존재하지 않는 유저를 삭제하려고 할 때 그냥 성공했다고 200 내려주면 될 것 같다"라고 생각하셔도 매우 일리가 있습니다만 (보안상의 이유로 그렇게 할 수도 있습니다!)
아무래도 본 영상이 교육을 목적으로 하고 있고, "예외 처리"에 대한 가장 간단한 방법을 설명드리기 위해서 이런 예제를 집어 넣었다~ 라고 봐주시면 될 것 같습니다. 😊
정말 좋은 질문 감사드립니다. 🙏
답변이 도움이 되었으면 좋겠습니다! 🙇
자세한 설명 감사합니다! 이해가 잘 되었어요 😊