공지사항

목록 조회

공지사항 목록을 조회합니다. 세부적인 공지사항의 내용은 전달되지 않습니다. 전달받은 페이지 번호로 최대 10개의 목록을 반환하며, 페이지 번호를 0번으로 요청 시 가장 최신 게시글 10개의 목록이 반환됩니다.

request

Parameter Description

page

페이지 번호, 10개의 게시글 정보를 최신글부터 반환함

GET /notice?page=1 HTTP/1.1
Host: localhost:8080

response

{
  "notices" : [ {
    "id" : 1611,
    "noticeType" : "업데이트",
    "title" : "20",
    "createdDate" : "2024-12-08T23:31:44.295192"
  }, {
    "id" : 1610,
    "noticeType" : "업데이트",
    "title" : "19",
    "createdDate" : "2024-12-08T23:31:44.295192"
  }, {
    "id" : 1609,
    "noticeType" : "업데이트",
    "title" : "18",
    "createdDate" : "2024-12-08T23:31:44.295192"
  }, {
    "id" : 1608,
    "noticeType" : "업데이트",
    "title" : "17",
    "createdDate" : "2024-12-08T23:31:44.295192"
  }, {
    "id" : 1607,
    "noticeType" : "업데이트",
    "title" : "16",
    "createdDate" : "2024-12-08T23:31:44.295192"
  }, {
    "id" : 1606,
    "noticeType" : "업데이트",
    "title" : "15",
    "createdDate" : "2024-12-08T23:31:44.295192"
  }, {
    "id" : 1605,
    "noticeType" : "업데이트",
    "title" : "14",
    "createdDate" : "2024-12-08T23:31:44.295192"
  }, {
    "id" : 1604,
    "noticeType" : "업데이트",
    "title" : "13",
    "createdDate" : "2024-12-08T23:31:44.295192"
  }, {
    "id" : 1603,
    "noticeType" : "업데이트",
    "title" : "12",
    "createdDate" : "2024-12-08T23:31:44.294193"
  }, {
    "id" : 1602,
    "noticeType" : "업데이트",
    "title" : "11",
    "createdDate" : "2024-12-08T23:31:44.294193"
  } ],
  "totalPage" : 3
}

단건 조회

공지사항의 세부적인 내용을 조회합니다.

request

Table 1. /notice/{postNumber}
Parameter Description

postNumber

게시글 번호

GET /notice/1590 HTTP/1.1
Host: localhost:8080

response

{
  "id" : 1590,
  "noticeType" : "업데이트",
  "title" : "20",
  "content" : "20",
  "createdDate" : "2024-12-08T23:31:44.267017"
}

등록

새로운 공지사항을 등록합니다. 관리자 권한이 있어야 가능합니다.

header

request

Path Type Description

title

String

공지사항 제목

content

String

공지사항 내용

noticeType

String

공지사항 종류

POST /admin/notice/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 82
Host: localhost:8080
Cookie: ADMIN_AUTH_TOKEN=eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3MzM2NzE5MDN9.7K7m0G4vJ48dZ6XZ6GWcdde0fatBW1tBEFuvbOrCVSA4jDRogOgKlZCcPg3ojeEiCHT2pa-Zbf0V4alVs1NIOg

{
  "noticeType" : "FIX",
  "title" : "헬로",
  "content" : "방가방가"
}

response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

수정

공지사항의 내용을 수정합니다. 관리자 권한이 있어야 가능합니다.

header

request

Path Type Description

title

String

수정할 공지사항 제목

content

String

수정할 공지사항 내용

noticeType

String

수정할 공지사항 종류

POST /admin/notice/modify/1569 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 113
Host: localhost:8080
Cookie: ADMIN_AUTH_TOKEN=eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3MzM2NzE5MDN9.7K7m0G4vJ48dZ6XZ6GWcdde0fatBW1tBEFuvbOrCVSA4jDRogOgKlZCcPg3ojeEiCHT2pa-Zbf0V4alVs1NIOg

{
  "noticeType" : "RESERVED_CHECK",
  "title" : "수정된 타이틀",
  "content" : "수정된 컨텐츠"
}

response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

삭제

공지사항을 삭제합니다. 관리자 권한이 있어야 가능합니다.

header

request

Table 2. /admin/notice/delete/{noticeNumber}
Parameter Description

noticeNumber

게시글 번호

GET /admin/notice/delete/1369 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
Cookie: ADMIN_AUTH_TOKEN=eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3MzM2NzE5MDN9.7K7m0G4vJ48dZ6XZ6GWcdde0fatBW1tBEFuvbOrCVSA4jDRogOgKlZCcPg3ojeEiCHT2pa-Zbf0V4alVs1NIOg

response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

게시글

목록 조회

게시글 목록을 조회합니다. 전달받은 페이지 번호로 최대 10개의 목록을 반환하며, 페이지 번호를 0번으로 요청 시 가장 최신 게시글 10개의 목록이 반환됩니다.

request

Parameter Description

page

페이지 번호

GET /post?page=0 HTTP/1.1
Host: localhost:8080

response

{
  "posts" : [ {
    "id" : 3093,
    "writer" : "99",
    "title" : "99",
    "commentCount" : 0,
    "createdDate" : "2024-12-08T23:31:44.225653"
  }, {
    "id" : 3092,
    "writer" : "98",
    "title" : "98",
    "commentCount" : 0,
    "createdDate" : "2024-12-08T23:31:44.225653"
  }, {
    "id" : 3091,
    "writer" : "97",
    "title" : "97",
    "commentCount" : 0,
    "createdDate" : "2024-12-08T23:31:44.225653"
  }, {
    "id" : 3090,
    "writer" : "96",
    "title" : "96",
    "commentCount" : 0,
    "createdDate" : "2024-12-08T23:31:44.225653"
  }, {
    "id" : 3089,
    "writer" : "95",
    "title" : "95",
    "commentCount" : 0,
    "createdDate" : "2024-12-08T23:31:44.224651"
  }, {
    "id" : 3088,
    "writer" : "94",
    "title" : "94",
    "commentCount" : 0,
    "createdDate" : "2024-12-08T23:31:44.224651"
  }, {
    "id" : 3087,
    "writer" : "93",
    "title" : "93",
    "commentCount" : 0,
    "createdDate" : "2024-12-08T23:31:44.224651"
  }, {
    "id" : 3086,
    "writer" : "92",
    "title" : "92",
    "commentCount" : 0,
    "createdDate" : "2024-12-08T23:31:44.224651"
  }, {
    "id" : 3085,
    "writer" : "91",
    "title" : "91",
    "commentCount" : 0,
    "createdDate" : "2024-12-08T23:31:44.224651"
  }, {
    "id" : 3084,
    "writer" : "90",
    "title" : "90",
    "commentCount" : 0,
    "createdDate" : "2024-12-08T23:31:44.224651"
  } ],
  "totalPage" : 10
}

단건 조회

게시글의 세부적인 내용을 조회합니다.

request

Table 3. /post/{id}
Parameter Description

id

게시글 아이디

GET /post/2691 HTTP/1.1
Host: localhost:8080

response

{
  "id" : 2691,
  "writer" : "99",
  "title" : "99",
  "content" : "99",
  "createdDate" : "2024-12-08T23:31:44.119678"
}

등록

새로운 게시글을 등록합니다.

request

Path Type Description

title

String

게시글 제목

writer

String

게시글 작성자

content

String

게시글 내용

password

String

게시글 비밀번호

POST /post/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 96
Host: localhost:8080

{
  "writer" : "good",
  "title" : "hello",
  "content" : "hi",
  "password" : "password"
}

response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

삭제

게시글을 삭제합니다. 등록시 입력했던 비밀번호로 작성자를 구별합니다.

request

Table 4. /post/delete/{postNumber}
Parameter Description

postNumber

게시글 아이디

Parameter Description

password

게시글 비밀번호

GET /post/delete/2792?password=password HTTP/1.1
Host: localhost:8080

response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

댓글

조회

댓글을 조회합니다. 최대 20개의 댓글을 반환합니다.

request

Parameter Description

page

페이지 번호

postId

게시글 id

GET /comment?page=0&postId=2581 HTTP/1.1
Host: localhost:8080

response

{
  "comments" : [ {
    "id" : 25699,
    "writer" : "0",
    "content" : "0",
    "createdDate" : "2024-12-08T23:31:44.01064"
  }, {
    "id" : 25700,
    "writer" : "1",
    "content" : "1",
    "createdDate" : "2024-12-08T23:31:44.01064"
  }, {
    "id" : 25701,
    "writer" : "2",
    "content" : "2",
    "createdDate" : "2024-12-08T23:31:44.01064"
  }, {
    "id" : 25702,
    "writer" : "3",
    "content" : "3",
    "createdDate" : "2024-12-08T23:31:44.011639"
  }, {
    "id" : 25703,
    "writer" : "4",
    "content" : "4",
    "createdDate" : "2024-12-08T23:31:44.011639"
  }, {
    "id" : 25704,
    "writer" : "5",
    "content" : "5",
    "createdDate" : "2024-12-08T23:31:44.011639"
  }, {
    "id" : 25705,
    "writer" : "6",
    "content" : "6",
    "createdDate" : "2024-12-08T23:31:44.011639"
  }, {
    "id" : 25706,
    "writer" : "7",
    "content" : "7",
    "createdDate" : "2024-12-08T23:31:44.011639"
  }, {
    "id" : 25707,
    "writer" : "8",
    "content" : "8",
    "createdDate" : "2024-12-08T23:31:44.011639"
  }, {
    "id" : 25708,
    "writer" : "9",
    "content" : "9",
    "createdDate" : "2024-12-08T23:31:44.011639"
  } ],
  "totalPage" : 1
}

등록

새로운 댓글을 등록합니다.

request

Path Type Description

postId

Number

게시글 아이디

writer

String

댓글 작성자

content

String

댓글 내용

password

String

댓글 비밀번호

POST /comment/register HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 103
Host: localhost:8080

{
  "postId" : 2591,
  "writer" : "헬로",
  "content" : "방가방가",
  "password" : "hello"
}

response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

삭제

댓글을 삭제합니다. 등록시 입력했던 비밀번호로 작성자를 구별합니다.

request

Table 5. /comment/delete/{commentId}
Parameter Description

commentId

댓글 아이디

Parameter Description

password

댓글 비밀번호

GET /comment/delete/25608?password=hello HTTP/1.1
Host: localhost:8080

response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

관리자

로그인

관리자 권한을 요청합니다. 알맞은 아이디와 비밀번호 입력 시 관리자 전용 토큰이 쿠키값으로 주어집니다.

request

Path Type Description

nickname

String

관리자 아이디

password

String

관리자 비밀번호

POST /admin/user/login HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 51
Host: localhost:8080

{
  "nickname" : "test",
  "password" : "1234"
}

response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Set-Cookie: ADMIN_AUTH_TOKEN=eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3MzM2NzE5MDN9.7K7m0G4vJ48dZ6XZ6GWcdde0fatBW1tBEFuvbOrCVSA4jDRogOgKlZCcPg3ojeEiCHT2pa-Zbf0V4alVs1NIOg; Path=/; Domain=kmapshot.com; Max-Age=3600; Expires=Sun, 08 Dec 2024 15:31:43 GMT; Secure

로그인 연장

관리자 계정의 로그인 상태를 연장합니다. 인증시간이 갱신된 새로운 토큰이 발급됩니다.

request

POST /admin/user/auth/refresh HTTP/1.1
Content-Type: application/json;charset=UTF-8
Host: localhost:8080
Cookie: ADMIN_AUTH_TOKEN=eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3MzIxOTUwMTF9.UiOQp8puOm1Vi55Dy6D_u-iiZh89ohdncTfc1nfwu8JJYcDhqwhM9M0cp3BY_bVepQxmKQ1MtgStmroOfd9_NA

response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Set-Cookie: ADMIN_AUTH_TOKEN=eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE3MzIxOTUwMTF9.UiOQp8puOm1Vi55Dy6D_u-iiZh89ohdncTfc1nfwu8JJYcDhqwhM9M0cp3BY_bVepQxmKQ1MtgStmroOfd9_NA; Path=/; Domain=kmapshot.com; Max-Age=3600; Expires=Thu, 21 Nov 2024 13:16:51 GMT; Secure