-
Couldn't load subscription status.
- Fork 0
API
김소연 edited this page Nov 16, 2023
·
7 revisions
| URL | Method | 기능 |
|---|---|---|
| / | GET | 홈 |
| /member/sign-up | POST | 회원 가입 |
| /member/login | GET | 회원 로그인 |
| /member/logout | POST | 회원 로그아웃 |
| /member/reissue | GET | 토큰 재발급 |
| /boards/{board-id} | GET | 게시판 조회 |
| /boards/{board-id}/posts/{post-id} | GET | 게시물 조회 |
| /boards/{board-id}/posts | POST | 게시물 추가 |
| /boards/{board-id}/posts/{post-id} | PUT | 게시물 수정 |
| /boards/{board-id}/posts/{post-id} | DELETE | 게시물 삭제 |
| /boards/{board-id}/posts/{post-id}/comments | GET | 게시물 댓글 리스트 조회 |
| /boards/{board-id}/posts/{post-id}/comments | POST | 게시물 댓글 추가 |
| /boards/{board-id}/posts/{post-id}/comments/{comment-id} | PUT | 게시물 댓글 수정 |
| /boards/{board-id}/posts/{post-id}/comments/{comment-id} | DELETE | 게시물 댓글 삭제 |
- 홈 : 게시판 목록을 조회하는 기능
- 게시판 조회 : 게시판에 있는 게시물들을 조회하는 기능
- 게시물 조회 : 게시물 내용을 조회하는 기능(작성 시간, 댓글 수, 읽기 수 포함)
- 게시판 조회 시
- 회원 접근 가능, 비회원 접근 가능, 회원 및 비회원 모두 접근 가능을 멤버ID 를 가지고 권한 판단
- 게시판에 접근 권한이 있는지 확인해야하므로 게시판 하위에 게시물을 두도록 함
- 게시물 조회 시
- 게시물 조회 시 읽기수, 작성된 시간, 작성된 댓글 수 조회해오기
- 게시물 조회할 때마다 읽기 수 추가하기
- 게시물 조회 시 읽기수, 작성된 시간, 작성된 댓글 수 조회해오기
- 게시물과 댓글을 분리해야하는 이유는 댓글 조회 시 페이징 처리를 하기 위해서는 댓글을 따로 조회해와야하기 때문이다.
- 댓글 추가 시 해당 게시물에 댓글 수 추가하기
GET /
| 필드명 | 타입 | 설명 |
|---|---|---|
| 필드명 | 타입 | 설명 |
|---|---|---|
| boardId | Int | 게시판ID |
| boardNm | String | 게시판명 |
| useYn | Char | 사용여부 |
| createdAt | Date | 생성일시 |
| createdByNm | String | 생성자명 |
| updatedAt | Date | 수정일시 |
| updatedByNm | String | 수정자명 |
예시
200 OK
[
{
"boardId" : 1,
"boardNm" : "비회원게시판",
"useYn" : "Y",
"createdAt" : "2023-08-12 21:21:51",
"createdById" : 1,
"createdByNm" : "관리자",
"updatedAt" : "2023-08-12 21:21:51",
"updatedByNm" : "관리자",
"roleId" : 1
},
{
"boardId" : 2,
"boardNm" : "회원게시판",
"useYn" : "Y",
"createdAt" : "2023-08-12 21:21:51",
"createdByNm" : "관리자",
"updatedAt" : "2023-08-12 21:21:51",
"updatedByNm" : "관리자",
"roleId" : 2
},
{
"boardId" : 3,
"boardNm" : "회원 및 비회원게시판",
"useYn" : "Y",
"createdAt" : "2023-08-12 21:21:51",
"createdByNm" : "관리자",
"updatedAt" : "2023-08-12 21:21:51",
"updatedByNm" : "관리자",
"roleId" : 3
}
]POST /member/sign-up
| 필드명 | 타입 | 설명 |
|---|---|---|
| String | 이메일 | |
| password | String | 비밀번호 |
| nickname | String | 닉네임 |
| roleId | Int | 권한 |
| 필드명 | 타입 | 설명 |
|---|---|---|
| resultCd | Int | 결과 코드 |
| resultMsg | String | 결과 메세지 |
예시
200 OK
{
"resultCd" : 0,
"resultMsg" : "회원가입이 완료되었습니다."
}GET /member/login
| 필드명 | 타입 | 설명 |
|---|---|---|
| String | 이메일 | |
| password | String | 비밀번호 |
| 필드명 | 타입 | 설명 |
|---|---|---|
| resultCd | Int | 결과 코드 |
| resultMsg | String | 결과 메세지 |
예시
200 OK
{
"resultCd" : 0,
"resultMsg" : "로그인이 완료되었습니다."
}GET /boards/{board-id}
| 필드명 | 타입 | 설명 |
|---|---|---|
| boardId | Int | 게시판ID |
| 필드명 | 타입 | 설명 |
|---|---|---|
| postId | Int | 게시물ID |
| boardId | Int | 게시판ID |
| title | String | 제목 |
| readCnt | Int | 읽기수 |
| commentCnt | Int | 댓글수 |
| useYn | Char | 사용여부 |
| createdAt | Date | 생성일시 |
| createdByNm | String | 생성자명 |
예시
200 OK
[
{
"postId" : 1,
"boardId" : 1,
"title" : "제목",
"readCnt" : 10,
"commentCnt" : 10,
"useYn" : "Y",
"createdAt" : "2023-08-12 21:21:51",
"createdByNm" : "사용자"
},
{
"postId" : 2,
"boardId" : 1,
"title" : "제목2",
"readCnt" : 9,
"commentCnt" : 9,
"useYn" : "Y",
"createdAt" : "2023-08-13 21:21:51",
"createdByNm" : "사용자"
},
{
"postId" : 3,
"boardId" : 1,
"title" : "제목3",
"readCnt" : 10,
"commentCnt" : 10,
"useYn" : "Y",
"createdAt" : "2023-08-14 21:21:51",
"createdByNm" : "사용자"
}
]GET /boards/{board-id}/posts/{post-id}
| 필드명 | 타입 | 설명 |
|---|---|---|
| boardId | Int | 게시판ID |
| postId | Int | 게시물ID |
| 필드명 | 타입 | 설명 |
|---|---|---|
| postId | Int | 게시물ID |
| boardId | Int | 게시판ID |
| title | String | 제목 |
| content | String | 내용 |
| readCnt | Int | 읽기수 |
| commentCnt | Int | 댓글수 |
| useYn | Char | 사용여부 |
| createdAt | Date | 생성일시 |
| createdByNm | String | 생성자명 |
| updatedAt | Date | 수정일시 |
| updatedByNm | String | 수정자명 |
예시
200 OK
{
"postId" : 1,
"boardId" : 1,
"title" : "제목",
"content" : "내용",
"readCnt" : 10,
"commentCnt" : 10,
"useYn" : "Y",
"createdAt" : "2023-08-12 21:21:51",
"createdByNm" : "사용자",
"updatedAt" : "2023-08-12 21:21:51",
"updatedByNm" : "사용자"
}POST /boards/{board-id}/posts
| 필드명 | 타입 | 설명 |
|---|---|---|
| boardId | Int | 게시판ID |
| title | String | 제목 |
| content | String | 내용 |
| 필드명 | 타입 | 설명 |
|---|---|---|
| resultCd | Int | 결과 코드 |
| resultMsg | String | 결과 메세지 |
예시
200 OK
{
"resultCd" : 0,
"resultMsg" : "게시물 작성이 완료되었습니다."
}PUT /boards/{board-id}/posts/{post-id}
| 필드명 | 타입 | 설명 |
|---|---|---|
| boardId | Int | 게시판ID |
| postId | Int | 게시물ID |
| title | String | 제목 |
| content | String | 내용 |
| 필드명 | 타입 | 설명 |
|---|---|---|
| resultCd | Int | 결과 코드 |
| resultMsg | String | 결과 메세지 |
예시
200 OK
{
"resultCd" : 0,
"resultMsg" : "게시물 수정이 완료되었습니다."
}DELETE /boards/{board-id}/posts/{post-id}
| 필드명 | 타입 | 설명 |
|---|---|---|
| boardId | Int | 게시판ID |
| postId | Int | 게시물ID |
| 필드명 | 타입 | 설명 |
|---|---|---|
| resultCd | Int | 결과 코드 |
| resultMsg | String | 결과 메세지 |
예시
200 OK
{
"resultCd" : 0,
"resultMsg" : "게시물 삭제가 완료되었습니다."
}GET /boards/{board-id}/posts/{post-id}/comments
| 필드명 | 타입 | 설명 |
|---|---|---|
| boardId | Int | 게시판ID |
| postId | Int | 게시물ID |
| 필드명 | 타입 | 설명 |
|---|---|---|
| commentId | Int | 댓글ID |
| postId | Int | 게시물ID |
| content | String | 내용 |
| useYn | Char | 사용여부 |
| createdAt | Date | 생성일시 |
| createdByNm | String | 생성자명 |
| updatedAt | Date | 수정일시 |
| updatedByNm | String | 수정자명 |
예시
200 OK
[
{
"commentId" : 1,
"postId" : 1,
"content" : "댓글내용",
"useYn" : "Y",
"createdAt" : "2023-08-12 21:21:51",
"createdByNm" : "사용자",
"updatedAt" : "2023-08-12 21:21:51",
"updatedByNm" : "사용자"
},
{
"commentId" : 2,
"postId" : 1,
"content" : "댓글내용",
"useYn" : "Y",
"createdAt" : "2023-08-13 21:21:51",
"createdByNm" : "사용자",
"updatedAt" : "2023-08-13 21:21:51",
"updatedByNm" : "사용자"
},
{
"commentId" : 3,
"postId" : 1,
"content" : "댓글내용",
"useYn" : "Y",
"createdAt" : "2023-08-14 21:21:51",
"createdByNm" : "사용자",
"updatedAt" : "2023-08-14 21:21:51",
"updatedByNm" : "사용자"
}
]POST /boards/{board-id}/posts/{post-id}/comments
| 필드명 | 타입 | 설명 |
|---|---|---|
| boardId | Int | 게시판ID |
| postId | Int | 게시물ID |
| content | String | 내용 |
| 필드명 | 타입 | 설명 |
|---|---|---|
| resultCd | Int | 결과 코드 |
| resultMsg | String | 결과 메세지 |
예시
200 OK
{
"resultCd" : 0,
"resultMsg" : "댓글 작성이 완료되었습니다."
}PUT /boards/{board-id}/posts/{post-id}/comments/{comment-id}
| 필드명 | 타입 | 설명 |
|---|---|---|
| boardId | Int | 게시판ID |
| postId | Int | 게시물ID |
| commentId | Int | 댓글ID |
| content | String | 내용 |
| 필드명 | 타입 | 설명 |
|---|---|---|
| resultCd | Int | 결과 코드 |
| resultMsg | String | 결과 메세지 |
예시
200 OK
{
"resultCd" : 0,
"resultMsg" : "댓글 수정이 완료되었습니다."
}DELETE /boards/{board-id}/posts/{post-id}/comments/{comment-id}
| 필드명 | 타입 | 설명 |
|---|---|---|
| boardId | Int | 게시판ID |
| postId | Int | 게시물ID |
| commentId | Int | 댓글ID |
| 필드명 | 타입 | 설명 |
|---|---|---|
| resultCd | Int | 결과 코드 |
| resultMsg | String | 결과 메세지 |
예시
200 OK
{
"resultCd" : 0,
"resultMsg" : "댓글 삭제가 완료되었습니다."
}