게시물 생성

Path parameters

Table 1. /projects/{projectId}/boards
Parameter Description

projectId

게시물을 생성하려는 프로젝트 아이디

Request parameters

Parameter Description

memo

게시물 메모

Request parts

Part Description

image

게시물 작물 이미지

HTTP request

POST /projects/1/boards HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Accept: application/json
Host: localhost:8080

--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=memo

테스트 메모
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=image; filename=test-image.png
Content-Type: image/png

test-image
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--

Response headers

Name Description

Location

생성된 게시글 요청 경로

Response fields

Path Type Description

success

Boolean

요청 성공 여부

data

Number

생성된 게시물 아이디

Example response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: http://localhost:8080/projects/1/boards/1
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 36

{
  "success" : true,
  "data" : 1
}

게시물 조회

Path parameters

Table 1. /projects/{projectId}/boards/{boardId}
Parameter Description

projectId

조회하려는 게시물이 속한 프로젝트 아이디

boardId

조회하려는 게시물 아이디

HTTP request

GET /projects/1/boards/1 HTTP/1.1
Accept: application/json
Host: localhost:8080

Response fields

Path Type Description

success

Boolean

요청 성공 여부

data

Object

조회한 게시물 정보

data.boardId

Number

조회한 게시물 아이디

data.memo

String

조회한 게시물 메모

data.boardImageId

Number

조회한 게시물 이미지 아이디

data.boardImageUri

String

조회한 게시물 이미지 요청

data.issues

Array

조회한 게시물 내 이슈 목록

Example response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 226

{
  "success" : true,
  "data" : {
    "boardId" : 1,
    "memo" : "테스트 게시물",
    "boardImageId" : 1,
    "boardImageUri" : "http://localhost:8080/images/1",
    "issues" : [ "질병1", "질병2", "질병3" ]
  }
}

게시물 수정

Request fields

Path Type Description

memo

String

수정하려는 게시물 메모

HTTP request

PUT /projects/1/boards/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Accept: application/json
Content-Length: 28
Host: localhost:8080

{
  "memo" : "update-memo"
}

Response headers

Name Description

Location

수정된 게시물 조회 요청

Response fields

Path Type Description

success

Boolean

요청 성공 여부

data

Number

수정된 게시물 아이디

Example response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: http://localhost:8080/projects/1/boards/1
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 36

{
  "success" : true,
  "data" : 1
}

Request parameters

Parameter Description

page

요청하려는 페이지 인덱스. default=0

size

요청하려는 페이지 내 컨텐츠 크기. default=10, max=100

HTTP request

GET /projects/1/boards?page=0&size=10 HTTP/1.1
Accept: application/json
Host: localhost:8080

Response fields

Path Type Description

success

Boolean

요청 성공 여부

data

Object

응답된 페이지

data.content

Array

응답된 페이지 내용. Board 조회 응답과 유사. issues 없음

data.number

Number

페이지 넘버

Example response

HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 656

{
  "success" : true,
  "data" : {
    "content" : [ {
      "boardId" : 1,
      "memo" : "test-memo",
      "boardImageId" : 1,
      "boardImageUri" : "http://localhost:8080/images/1"
    } ],
    "pageable" : {
      "sort" : {
        "unsorted" : true,
        "sorted" : false,
        "empty" : true
      },
      "pageNumber" : 0,
      "pageSize" : 10,
      "offset" : 0,
      "paged" : true,
      "unpaged" : false
    },
    "numberOfElements" : 1,
    "size" : 10,
    "number" : 0,
    "sort" : {
      "unsorted" : true,
      "sorted" : false,
      "empty" : true
    },
    "first" : true,
    "last" : true,
    "empty" : false
  }
}