API 목록

POST: CurriculumItem 관리

HTTP Request
POST /studies/1/curriculums HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: mocked-access-token
Content-Length: 438
Host: localhost:8080

{
  "curriculumItems" : [ {
    "id" : 1,
    "itemOrder" : 1,
    "name" : "Change Spring Study"
  }, {
    "id" : 2,
    "itemOrder" : 4,
    "name" : "CS Study"
  }, {
    "id" : 3,
    "itemOrder" : 2,
    "name" : "Infra Study"
  }, {
    "id" : 4,
    "itemOrder" : 3,
    "name" : "Algorithm Study"
  } ],
  "deletedCurriculumItems" : [ {
    "id" : 3,
    "itemOrder" : 2,
    "name" : "Infra Study"
  } ]
}
HTTP Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Table 1. /studies/{studyId}/curriculums
Parameter Description

studyId

스터디 id

Table 2. Request Fields
Path Type Description

curriculumItems

Array

커리큘럼 아이템 리스트

curriculumItems[].id

Number

커리큘럼 아이템 ID (새로 생성된 경우 null)

curriculumItems[].itemOrder

Number

커리큘럼 아이템 순서

curriculumItems[].name

String

커리큘럼 아이템 이름

deletedCurriculumItems

Array

삭제된 커리큘럼 아이템 리스트

deletedCurriculumItems[].id

Number

삭제된 커리큘럼 아이템 ID

deletedCurriculumItems[].itemOrder

Number

삭제된 커리큘럼 아이템 순서

deletedCurriculumItems[].name

String

삭제된 커리큘럼 아이템 이름

PATCH: CurriculumItem 상태 변경

HTTP Request
PATCH /curriculums/1/1/check HTTP/1.1
Authorization: mocked-access-token
Host: localhost:8080
HTTP Response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Table 3. /curriculums/{curriculumId}/{participantId}/check
Parameter Description

curriculumId

커리큘럼 id

participantId

참여자 id

GET: Study 전체 커리큘럼 조회

HTTP Request
GET /studies/1/curriculums/all HTTP/1.1
Host: localhost:8080
Table 4. /studies/{studyId}/curriculums/all
Parameter Description

studyId

스터디 id

HTTP Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 208

[ {
  "id" : 1,
  "name" : "chapter1. greedy",
  "itemOrder" : 0,
  "isDeleted" : false,
  "participantCurriculumItems" : [ {
    "id" : 1,
    "participantId" : 1,
    "isChecked" : false
  } ]
} ]

GET: Study 개인 커리큘럼 조회

HTTP Request
GET /studies/1/curriculums HTTP/1.1
Authorization: 1
Host: localhost:8080
Table 5. Request Header
Name Description

Authorization

member id

Table 6. /studies/{studyId}/curriculums
Parameter Description

studyId

스터디 id

HTTP Response
HTTP/1.1 200 OK
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Content-Type: application/json;charset=UTF-8
Content-Length: 234

[ {
  "id" : 1,
  "participantId" : 1,
  "name" : "chapter1. greedy",
  "itemOrder" : 0,
  "isChecked" : false
}, {
  "id" : 2,
  "participantId" : 1,
  "name" : "chapter2. DFS",
  "itemOrder" : 0,
  "isChecked" : true
} ]
Table 7. Response Fields
Path Type Description

[].id

Number

participantCurriculum id

[].participantId

Number

참여자 id

[].itemOrder

Number

스터디 설명

[].isChecked

Boolean

체크 여부

[].name

String

커리큘럼 내용