반응형
API 디자인 책을 본격적으로 읽기 전에 본인이 생각한 API를 디자인해보려고 합니다.
먼저 HTTP 메소드와 URI를 정하겠습니다. 더 자세한 API 명세서는 차후에 더 자세히 작성하겠습니다.
사용자 입장에서 생각하면서 디자인!
User 관련 API
HTTP Method | URI 경로 | 설명 |
GET | /users/:userId | 유저를 조회 |
POST | /users | 유저를 생성 |
PUT | /users/:userId | 유저 정보를 수정 |
PATCH | /users/:userId | 논리적 유저 삭제 |
Post 관련 API
HTTP Method | URI 경로 | 설명 |
GET | /posts | 게시글 조회, 페이징을 사용할 예정 |
POST | /posts | 게시글 생성 |
PUT | /posts/:postId | 게시글 수정 |
PATCH | /posts/:postId | 논리적 게시글 삭제 |
GET | /posts/:postId | 게시글 1개 조회 |
POST | /posts/:postId/like | 게시글에 좋아요를 누르거나 취소 |
게시글에 좋아요를 누르고 취소하는 API의 HTTP Method를 정하는 것이 까다로웠는데 애매하면 POST로 일단 진행하라는 내용을 들어서 POST로 정했다.
Comment 관련 API
HTTP Method | URI 경로 | 설명 |
POST | /comments | 댓글 생성 |
PUT | /comments/:commentId | 댓글 수정 |
DELETE | /comments/:commentId | 물리적 댓글 삭제 |
POST | /comments/:commentId/like | 댓글 좋아요 기능 |
댓글은 POST와 다르게 좋아요를 한 번 누르면 취소되지 않는다.
Alarm 관련 API
HTTP Method | URI 경로 | 설명 |
GET | /alarms | 알람들을 조회한다. |
DELETE | /alarms/:alarmId | 알람을 삭제한다. |
알람은 댓글을 달거나 게시글을 만들면 생성된다. 또 알람 수정은 진행할 수 없다.
알람 삭제 API와 조회 API를 만들었다.
기타 API
HTTP Method | URI 경로 | 설명 |
POST | /login | 로그인 진행 (JWT) |
DELETE | /logout | 로그아웃 진행(JWT) |
JWT를 사용할 예정이므로 POST와 DELETE 메서드로 정했다.
부족한 부분이 있으면 계속 추가할 예정이다. API 명세서도 이 포스팅에 차후에 작성하는 걸로..
//TO DO API 명세서
이상으로 포스팅을 마칩니다!
반응형
댓글