이제는 어느 웹 서비스를 방문해도 로그인 페이지가 있는 것을 확인할 수 있습니다.
로그인, 회원 가입, 회원 정보, 회원 탈퇴는 어떻게 설계해야 할까요?
🔗 HTTP 메소드
데이터를 처리하는 방식을 보통 CRUD라고 부릅니다.
서버에서 데이터를 어떻게 처리하는지에 따라서 메소드를 정의할 수 있습니다.
CRUD | Read | Create | Update | Delete |
HTTP 메소드 | GET | POST | PUT | DELETE |
로그인 기능은 어떤 메소드를 사용해야 할까요?
로그인을 할 때는 아이디와 패스워드를 입력합니다.
이 정보를 주소창에 노출하면 상대적으로 위험할 수 있으니 POST를 사용하겠습니다.
🔗 URL
- 회원 가입: /join
- 로그인: /login
- 회원 정보: /users/{id}
- 회원 탈퇴: /users/{id}
🔗 요청 파라미터
- 회원 가입: 아이디, 패스워드, 닉네임
- 로그인: 아이디, 패스워드
- 회원 정보: 아이디
- 회원 탈퇴: 아이디
🔗 HTTP 상태 코드
# 200
성공적인 처리를 했다는 것을 의미합니다. 각 메소드에 따라 그 의미가 상이합니다.
로그인과 회원 정보, 회원 탈퇴를 성공적으로 처리했을 때 응답하도록 설계합니다.
# 201
성공적인 처리와 함께 리소스가 생성되었다는 것을 의미합니다.
회원 가입이 완료되면 회원이라는 리소스가 생성되므로 이 응답을 뿌려줍니다.
# 400
클라이언트가 잘못된 요청을 보냈을 때 사용합니다.
요청 파라미터가 올바르지 않을 때 응답하도록 설계합니다.
# 404
요청받은 리소스를 찾을 수 없을 때 응답합니다.
존재하지 않는 아이디의 회원을 조회하거나 삭제할 때 응답하도록 설계합니다.
각 기능과 목적을 한 번에 이해할 수 있도록 API를 설계하기 위해서는
상당히 많은 시간이 걸린다는 것을 깨닫게 되었습니다.
이번 포스트는 여기까지입니다. 틀린 내용이 있다면 지적 부탁드립니다.
감사합니다!
'개발지식' 카테고리의 다른 글
[Open License] 소프트웨어 자유와 공유의 기준 (0) | 2024.11.25 |
---|---|
[프로그래밍 이론] 객체 지향 프로그래밍 (0) | 2024.10.25 |
[JWT] 누구인지 확인하고 권한 부여하기 (0) | 2024.09.25 |
나도 설명하고 싶다! REST API (1) | 2024.08.28 |
웹 이해하기 (0) | 2024.08.20 |