API 목록

도서 목록 조회

요청

Request

GET /books?searchType=&search=&page=0&size=3 HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjQiLCJyb2xlcyI6IlJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTMwLCJleHAiOjE3MTExMjI3MzB9.ME9ps709owMrSpmH3pj-oSjrG_psZ91Usp4-VKxQ9uk

Request Cookies

Name Description

accessToken

ACCESS TOKEN (ROLE_회원)

Request Parameters

파라미터명 필수값 양식 설명

searchType

title: 제목, author: 저자, all: 제목 + 저자, null : 전체 도서 목록 조회

검색 타입

search

검색할 단어

page

페이지 (default: 0)

size

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

응답

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
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 1046

{
  "content" : [ {
    "bookId" : 10,
    "thumbnailPath" : null,
    "title" : "도서 제목",
    "author" : "도서 저자",
    "currentQuantity" : 1,
    "totalQuantity" : 1,
    "canBorrow" : true
  }, {
    "bookId" : 9,
    "thumbnailPath" : null,
    "title" : "도서 제목",
    "author" : "도서 저자",
    "currentQuantity" : 1,
    "totalQuantity" : 1,
    "canBorrow" : true
  }, {
    "bookId" : 8,
    "thumbnailPath" : null,
    "title" : "도서 제목",
    "author" : "도서 저자",
    "currentQuantity" : 1,
    "totalQuantity" : 1,
    "canBorrow" : true
  } ],
  "pageable" : {
    "sort" : {
      "empty" : true,
      "sorted" : false,
      "unsorted" : true
    },
    "offset" : 0,
    "pageNumber" : 0,
    "pageSize" : 3,
    "paged" : true,
    "unpaged" : false
  },
  "last" : false,
  "totalPages" : 2,
  "totalElements" : 5,
  "first" : true,
  "size" : 3,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "sorted" : false,
    "unsorted" : true
  },
  "numberOfElements" : 3,
  "empty" : false
}

Response Fields

Path Type Description

content[].bookId

Number

책 ID

content[].thumbnailPath

Null

책 썸네일 주소

content[].title

String

책 이름

content[].author

String

책 저자

content[].currentQuantity

Number

책 현재 수량

content[].totalQuantity

Number

책 전체 수량

content[].canBorrow

Boolean

책 대여 가능 여부

empty

Boolean

가져오는 페이지가 비어 있는 지

first

Boolean

첫 페이지인지

last

Boolean

마지막 페이지인지

number

Number

페이지 number (0부터 시작)

numberOfElements

Number

현재 페이지의 데이터 개수

pageable

Object

페이지에 대한 부가 정보

sort.empty

Boolean

정렬 기준이 비어 있는 지

sort.sorted

Boolean

정렬이 되었는지

sort.unsorted

Boolean

정렬이 되지 않았는지

totalPages

Number

총 페이지 수

totalElements

Number

총 요소 수

size

Number

한 페이지당 데이터 개수

도서 대출 신청

요청

Request

POST /books/5/request-borrow HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMiLCJyb2xlcyI6IlJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTMwLCJleHAiOjE3MTExMjI3MzB9.dMYVovJEy6_AE0mqxbBueN-0TkNt9XEBFfLTYDxdUYI
Content-Type: application/x-www-form-urlencoded

Request Cookies

Name Description

accessToken

ACCESS TOKEN (ROLE_회원)

Path Parameters

Table 1. /books/{bookId}/request-borrow
Parameter Description

bookId

대출하고자 하는 도서 ID

응답

Response

HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY

도서 대출 신청 취소

요청

Request

DELETE /books/borrows/4/cancel-borrow HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjIiLCJyb2xlcyI6IlJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTMwLCJleHAiOjE3MTExMjI3MzB9.Bc8kAOGL3glvIpYWmLXSldnKzskHgqTFid3LkxuqyIM

Request Cookies

Name Description

accessToken

ACCESS TOKEN (ROLE_회원)

Path Parameters

Table 2. /books/borrows/{borrowId}/cancel-borrow
Parameter Description

borrowId

대출 신청 취소하고자 하는 도서대여 ID

응답

Response

HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY

도서 대여 목록 조회

회원이 빌린 책 중 대출 대기, 대출중, 반납대기중인 도서 대여 목록을 불러옵니다.

요청

Request

GET /books/book-borrows?page=0&size=3 HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjEiLCJyb2xlcyI6IlJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTMwLCJleHAiOjE3MTExMjI3MzB9.7L6tFB3jXZLiuzQzKPqVhCdHpHaXK9gSosm-A1FPj7o

Request Cookies

Name Description

accessToken

ACCESS TOKEN (ROLE_회원)

응답

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
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 739

{
  "content" : [ {
    "borrowInfoId" : 3,
    "bookTitle" : "도서 제목",
    "thumbnailPath" : null,
    "author" : "도서 저자",
    "overdue" : false,
    "status" : "대출중",
    "borrowDateTime" : "2024-03-22 14:52:10",
    "expireDateTime" : "2024-04-05 14:52:10"
  } ],
  "pageable" : {
    "sort" : {
      "empty" : true,
      "sorted" : false,
      "unsorted" : true
    },
    "offset" : 0,
    "pageNumber" : 0,
    "pageSize" : 3,
    "paged" : true,
    "unpaged" : false
  },
  "last" : true,
  "totalPages" : 1,
  "totalElements" : 1,
  "first" : true,
  "size" : 3,
  "number" : 0,
  "sort" : {
    "empty" : true,
    "sorted" : false,
    "unsorted" : true
  },
  "numberOfElements" : 1,
  "empty" : false
}

Response Fields

Path Type Description

content[].borrowInfoId

Number

빌린 정보 ID

content[].bookTitle

String

빌린 책 이름

content[].thumbnailPath

Null

빌린 책 썸네일 주소

content[].author

String

빌린 책 저자

content[].overdue

Boolean

연체 여부

content[].status

String

대여 상태

content[].borrowDateTime

String

빌린 날짜

content[].expireDateTime

String

반납 날짜

empty

Boolean

가져오는 페이지가 비어 있는 지

first

Boolean

첫 페이지인지

last

Boolean

마지막 페이지인지

number

Number

페이지 number (0부터 시작)

numberOfElements

Number

현재 페이지의 데이터 개수

pageable

Object

페이지에 대한 부가 정보

sort.empty

Boolean

정렬 기준이 비어 있는 지

sort.sorted

Boolean

정렬이 되었는지

sort.unsorted

Boolean

정렬이 되지 않았는지

totalPages

Number

총 페이지 수

totalElements

Number

총 요소 수

size

Number

한 페이지당 데이터 개수

도서 반납 요청

요청

PATCH /books/borrows/2/request-return HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMTkiLCJyb2xlcyI6IlJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTMwLCJleHAiOjE3MTExMjI3MzB9.EHhbKvHGvh9WRZTFlX1-7wWSUePyACfmyJJuopx2RPs

Request Cookies

Name Description

accessToken

ACCESS TOKEN (ROLE_회원)

Path Parameters

Table 3. /books/borrows/{borrowId}/request-return
Parameter Description

borrowId

도서 대출 내역 ID

응답

Response

HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY

도서 반납 취소

요청

Request

PATCH /books/borrows/1/cancel-return HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMTgiLCJyb2xlcyI6IlJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTMwLCJleHAiOjE3MTExMjI3MzB9.8X2hzaFz7o3rZqWtEeV4p4xJQC-afanvfB5Nodmyi2s

Request Cookies

Name Description

accessToken

ACCESS TOKEN (ROLE_회원)

Path Parameters

Table 4. /books/borrows/{borrowId}/cancel-return
Parameter Description

borrowId

도서 대출 내역 ID

응답

Response

HTTP/1.1 204 No Content
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
X-Content-Type-Options: nosniff
X-XSS-Protection: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY