API 목록

POST: Document 생성

Table 1. /documents/{groupType}/{groupId}
Parameter Description

groupType

학습자료가 속한 그룹(teams/studies)

groupId

학습자료가 속한 그룹 id

Table 2. Request Part
Part Description

request

학습자료 정보

files

첨부 파일들

Table 3. Request Part Request Fields
Path Type Description

title

String

학습자료 제목

description

String

학습자료 설명

accessType

String

학습자료 공개 범위

type

String

자료 유형 (image, document, url)

url

String

url(url 유형인 경우)

uploaderId

Number

업로더 아이디

HTTP Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

GET: Document 목록 조회

Http Request
GET /documents/teams/1?page=0&size=4 HTTP/1.1
Authorization: mocked-access-token
Host: localhost:8080
Table 4. /documents/{groupType}/{groupId}
Parameter Description

groupType

학습자료가 속한 그룹(teams/studies)

groupId

학습자료가 속한 그룹 id

Table 5. Query Parameters
Parameter Description

page

페이지 (default: 0)

size

한 페이지당 불러올 개수 (default: 4)

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: 1194

{
  "content" : [ {
    "id" : 1,
    "title" : "학습자료",
    "description" : "학습자료 입니다.",
    "accessType" : "ALL",
    "type" : "IMAGE",
    "files" : [ {
      "id" : 1,
      "name" : "첨부파일명",
      "url" : "s3 url"
    } ],
    "date" : "2024-02-28",
    "uploaderName" : "김땡땡",
    "uploaderMemberId" : 2
  }, {
    "id" : 2,
    "title" : "학습자료",
    "description" : "학습자료 입니다.",
    "accessType" : "ALL",
    "type" : "IMAGE",
    "files" : [ {
      "id" : 1,
      "name" : "첨부파일명",
      "url" : "s3 url"
    } ],
    "date" : "2024-02-28",
    "uploaderName" : "김땡땡",
    "uploaderMemberId" : 3
  } ],
  "pageable" : {
    "pageNumber" : 0,
    "pageSize" : 4,
    "sort" : {
      "empty" : true,
      "sorted" : false,
      "unsorted" : true
    },
    "offset" : 0,
    "unpaged" : false,
    "paged" : true
  },
  "totalPages" : 1,
  "last" : true,
  "totalElements" : 2,
  "size" : 4,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "sorted" : false,
    "unsorted" : true
  },
  "first" : true,
  "numberOfElements" : 2,
  "empty" : false
}

GET: Document 조회

Http Request
GET /documents/1 HTTP/1.1
Authorization: mocked-access-token
Host: localhost:8080
Table 6. /documents/{documentId}
Parameter Description

documentId

학습자료 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: 318

{
  "id" : 1,
  "title" : "학습자료",
  "description" : "학습자료 입니다.",
  "accessType" : "ALL",
  "type" : "IMAGE",
  "files" : [ {
    "id" : 1,
    "name" : "첨부파일명",
    "url" : "s3 url"
  } ],
  "date" : "2024-02-28",
  "uploaderName" : "김땡땡",
  "uploaderMemberId" : 2
}

PUT: Document 수정

HTTP Request
PUT /documents/1 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Authorization: mocked-access-token
Content-Length: 101
Host: localhost:8080

{
  "title" : "수정된 제목",
  "description" : "수정된 설명",
  "accessType" : "TEAM"
}
Table 7. /documents/{documentId}
Parameter Description

documentId

학습자료 id

Table 8. Request Fields
Path Type Description

title

String

수정할 학습자료 제목

description

String

수정할 학습자료 설명

accessType

String

수정할 학습자료 공개 범위

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

DELETE: Document 삭제

HTTP Request
DELETE /documents/1 HTTP/1.1
Authorization: mocked-access-token
Host: localhost:8080
Table 9. /documents/{documentId}
Parameter Description

documentId

학습자료 id

HTTP Response
HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers

GET: 나의 학습자료 목록 조회

Http Request
GET /documents/members/me HTTP/1.1
Authorization: mocked-access-token
Host: localhost:8080
Path Parameters

Unresolved directive in document.adoc - include::C:\Users\wns18\Documents\GitHub\bdd\01-doo-re-back\build\generated-snippets/document-member-get-list/path-parameters.adoc[]

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: 646

[ {
  "id" : 1,
  "title" : "학습자료 1",
  "description" : "학습자료1 입니다",
  "accessType" : "ALL",
  "type" : "IMAGE",
  "files" : [ {
    "id" : 1,
    "name" : "첨부파일명",
    "url" : "url"
  } ],
  "date" : "2025-02-28",
  "uploaderName" : "홍길동",
  "uploaderMemberId" : null
}, {
  "id" : 2,
  "title" : "학습자료 2",
  "description" : "학습자료2 입니다",
  "accessType" : "ALL",
  "type" : "IMAGE",
  "files" : [ {
    "id" : 1,
    "name" : "첨부파일명",
    "url" : "url"
  } ],
  "date" : "2025-03-15",
  "uploaderName" : "홍길동",
  "uploaderMemberId" : null
} ]