비밀번호를 변경할 때는 PUT을 쓸까, PATCH를 쓸까?
요즘 비밀번호를 변경하는 트렌드를 좀 살펴보자.


2가지의 사례를 서치해봤는데, 보면 회원 정보 수정하기 페이지로 가지 않고 비밀번호 변경 페이지가 따로 켜지면서 딱 비밀번호만 변경하게 하고 있다.
이런 것을 보면 "어! 회원 정보 중에 비밀번호만 변경하고 있네? PATCH 쓰고 있구나!"라고 생각하기 쉽다.
내가 그랬다....
그런데 사실 그렇지 않은 경우가 많다!
즉, PATCH가 아니라 PUT을 쓰는 경우가 많다는 뜻이다.
그러면 다들 이런 의문을 가질 것이다.
PUT은 전체를 변경하는 것이고, PATCH는 일부를 변경하는 것이니까 당연히 PATCH를 쓰고 있는거 아니야?
여기서 우리는 요즘 사용자 ERD를 생각해볼 필요가 있다.
우리가 일반적으로 사용자 테이블을 설계할 때에는 아래와 같이 설계했다.
| id | pwd | name | age | phone_number |
이런 테이블이라면 PATCH를 쓰는게 맞을텐데,,,
요즘은 비밀번호 컬럼을 따로 빼서 테이블을 하나 더 만드는 방식으로 ERD를 설계한다고 한다. 즉 아래처럼!
| id | name | age | phone_number |
| id | pwd |
요즘은 위와 같은 ERD를 가지고 있기 때문에 PUT 메서드를 사용해서 비밀번호를 변경할 수 있는 것이다!
물론 현업에서는 일부를 변경한다고 하더라도 PATCH를 거의 사용하지 않고 PUT 메서드를 사용하고 있다...!
이제껏 비밀번호 변경? 새로운 비밀번호만 입력받아서 변경하잖아. 당연히 PATCH겠지!! 라고 생각했는데, 현업에서는 일부든 전체든 PUT만 쓴다는게 세삼 충격이었다...
그리고 요즘은 비밀번호를 따로 빼서 ERD를 설계한다는 것도 새롭게 알게 된 사실이었다...
이제부터는 프로젝트를 하게 된다면 ERD를 이처럼 설계해봐야겠다!!
'백엔드 > Java' 카테고리의 다른 글
| 왜 내 주력언어는 JAVA일까? (0) | 2024.07.10 |
|---|---|
| 탁구 게임 KPT 회고 (0) | 2024.07.10 |
| 오버라이딩(Override) (0) | 2024.07.04 |
| 상속에 대해서 (0) | 2024.07.04 |
| 버블 정렬 페어 프로그래밍 회고 (0) | 2024.07.03 |