책 목록 가져오기
요청
Request
GET /manage/books?search=&page=0&size=3&searchType=all HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI3NDIiLCJyb2xlcyI6IlJPTEVf7IKs7IScLFJPTEVf7ZqM7JuQLFJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTU1LCJleHAiOjE3MTExMjI3NTV9.4dN_z9P5VJ_nvp353ZF00paF9TFYcqd17MyzJI9cVj8
Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI3NDIiLCJyb2xlcyI6IlJPTEVf7IKs7IScLFJPTEVf7ZqM7JuQLFJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTU1LCJleHAiOjE3MTIzMjg3NTV9.fxrggJO3DO3EiO_xqOWVGojEAbeqQliqK_mvYqp4lwI
Request Cookies
Name | Description |
---|---|
|
ACCESS TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
|
REFRESH TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
Request Params
파라미터명 | 필수값 | 양식 | 설명 |
---|---|---|---|
|
페이지 (양수여야 합니다.) |
||
|
한 페이지당 불러올 개수 (default: 10) 최대: 100 최소: 3 |
||
|
책의 제목이나 저자를 검색합니다. (만약 빈 값으로 보낼 경우 책 관련 정보를 모두 가져옵니다.) |
||
|
title: 제목, author: 저자, all: 제목 + 저자, null : 전체 도서 목록 조회 |
검색 타입 |
응답
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: 2777
{
"content" : [ {
"bookId" : 43,
"title" : "도서 제목",
"author" : "도서 저자",
"bookDepartment" : "ETC",
"totalQuantity" : 2,
"currentQuantity" : 0,
"thumbnailPath" : null,
"borrowInfos" : [ {
"borrowInfoId" : 31,
"bookId" : 43,
"bookTitle" : "도서 제목",
"author" : "도서 저자",
"totalQuantity" : 2,
"currentQuantity" : 0,
"borrowerId" : 746,
"borrowerRealName" : "WBIZZFLuPC",
"requestDatetime" : null,
"borrowDateTime" : "2024-03-22T14:52:35",
"expiredDateTime" : "2024-04-05T14:52:35",
"status" : "대출중"
}, {
"borrowInfoId" : 32,
"bookId" : 43,
"bookTitle" : "도서 제목",
"author" : "도서 저자",
"totalQuantity" : 2,
"currentQuantity" : 0,
"borrowerId" : 747,
"borrowerRealName" : "yaHksCRuqi",
"requestDatetime" : null,
"borrowDateTime" : "2024-03-22T14:52:35",
"expiredDateTime" : "2024-04-05T14:52:35",
"status" : "반납대기"
} ]
}, {
"bookId" : 42,
"title" : "도서 제목",
"author" : "도서 저자",
"bookDepartment" : "ETC",
"totalQuantity" : 2,
"currentQuantity" : 1,
"thumbnailPath" : null,
"borrowInfos" : [ {
"borrowInfoId" : 30,
"bookId" : 42,
"bookTitle" : "도서 제목",
"author" : "도서 저자",
"totalQuantity" : 2,
"currentQuantity" : 1,
"borrowerId" : 745,
"borrowerRealName" : "PGszTcDEQP",
"requestDatetime" : null,
"borrowDateTime" : "2024-03-22T14:52:35",
"expiredDateTime" : "2024-04-05T14:52:35",
"status" : "대출중"
} ]
}, {
"bookId" : 41,
"title" : "도서 제목",
"author" : "도서 저자",
"bookDepartment" : "ETC",
"totalQuantity" : 2,
"currentQuantity" : 1,
"thumbnailPath" : null,
"borrowInfos" : [ {
"borrowInfoId" : 29,
"bookId" : 41,
"bookTitle" : "도서 제목",
"author" : "도서 저자",
"totalQuantity" : 2,
"currentQuantity" : 1,
"borrowerId" : 744,
"borrowerRealName" : "ywWedZIfxW",
"requestDatetime" : null,
"borrowDateTime" : "2024-03-22T14:52:35",
"expiredDateTime" : "2024-04-05T14:52:35",
"status" : "대출중"
} ]
} ],
"pageable" : {
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"offset" : 0,
"pageNumber" : 0,
"pageSize" : 3,
"paged" : true,
"unpaged" : false
},
"last" : false,
"totalPages" : 2,
"totalElements" : 4,
"first" : true,
"size" : 3,
"number" : 0,
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"numberOfElements" : 3,
"empty" : false
}
Response Fields
Path | Type | Description |
---|---|---|
|
|
책 ID |
|
|
책 썸네일 주소 |
|
|
책 이름 |
|
|
책 저자 |
|
|
책 현재 수량 |
|
|
책 전체 수량 |
|
|
책 카테고리 |
|
|
대출 정보 ID |
|
|
대출할 책의 ID |
|
|
대출할 책의 제목 |
|
|
대출할 책의 저자 |
|
|
대출할 책의 전체 수량 |
|
|
대출할 책의 남은 수량 |
|
|
대출자의 ID |
|
|
대출자의 실명 |
|
|
대출 요청을 한 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
대출 승인을 한 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
반납 예정 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
대출의 현재 상태 [대출대기, 대출반려, 대출중, 반납대기, 반납완료] |
|
|
가져오는 페이지가 비어 있는 지 |
|
|
첫 페이지인지 |
|
|
마지막 페이지인지 |
|
|
페이지 number (0부터 시작) |
|
|
현재 페이지의 데이터 개수 |
|
|
페이지에 대한 부가 정보 |
|
|
정렬 기준이 비어 있는 지 |
|
|
정렬이 되었는지 |
|
|
정렬이 되지 않았는지 |
|
|
총 페이지 수 |
|
|
총 데이터 개수 |
|
|
한 페이지당 데이터 개수 |
책 추가
요청
Request
POST /manage/books HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI3NjEiLCJyb2xlcyI6IlJPTEVf7IKs7IScLFJPTEVf7ZqM7JuQLFJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTU1LCJleHAiOjE3MTExMjI3NTV9.4fqiiYxkaEhA4Lf0pvb0V5WGOrb1SevdJYhRZXsxdlQ
Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI3NjEiLCJyb2xlcyI6IlJPTEVf7IKs7IScLFJPTEVf7ZqM7JuQLFJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTU1LCJleHAiOjE3MTIzMjg3NTV9.jCV67b0GS3i8TgWk59_clS_ygNobur8Gqnw-R4W7zsQ
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=bookMetaData
Content-Type: application/json
{"title":"삶의 목적을 찾는 45가지 방법","author":"ChatGPT","totalQuantity":10,"bookDepartment":"DOCUMENT"}
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Content-Disposition: form-data; name=thumbnail; filename=testImage_1x1.png
Content-Type: image/png
�PNG
IHDR %�V� PLTE �z=� tRNS @��f
IDAT�c` �!�3 IEND�B`�
--6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm--
Request Cookies
Name | Description |
---|---|
|
ACCESS TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
|
REFRESH TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
Request Fields
Path | Type | Description |
---|---|---|
|
|
책 제목 (최대 200자) |
|
|
저자 (최대 30자) |
|
|
책 카테고리 |
|
|
책 수량 (1권 이상 20권 이하) |
Request Parts
파트명 | 필수값 | 설명 |
---|---|---|
|
true |
책 정보 |
|
책의 썸네일 |
응답
Response
HTTP/1.1 201 Created
Vary: Origin
Vary: Access-Control-Request-Method
Vary: Access-Control-Request-Headers
Location: /books/44
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
Response Headers
Name | Description |
---|---|
|
생성된 책의 URI |
책 삭제
요청
Request
DELETE /manage/books/47 HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI3NjUiLCJyb2xlcyI6IlJPTEVf7ZqM7JuQLFJPTEVf7IKs7IScLFJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTU1LCJleHAiOjE3MTExMjI3NTV9.skJQlPpCPwkgouiINDdq0Hnl0mSzeD_vV_WYARdhnFg
Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI3NjUiLCJyb2xlcyI6IlJPTEVf7ZqM7JuQLFJPTEVf7IKs7IScLFJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTU1LCJleHAiOjE3MTIzMjg3NTV9.IvfX3hzCa7kIAVRILwBV8FmRPslEcwVxdhAX7oU5Fgs
Request Cookies
Name | Description |
---|---|
|
ACCESS TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
|
REFRESH TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
Request Parameters
Parameter | Description |
---|---|
|
책 id |
책 정보 수정
요청
Request
PUT /manage/books/50 HTTP/1.1
Content-Type: application/json;charset=UTF-8
Content-Length: 138
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI3NjkiLCJyb2xlcyI6IlJPTEVf7IKs7IScLFJPTEVf7ZqM7JuQLFJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTU1LCJleHAiOjE3MTExMjI3NTV9.HAeGJWVimJb2qQYpkLv5oG2Ul5tJXCxVGhLT2qEe2_A
Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI3NjkiLCJyb2xlcyI6IlJPTEVf7IKs7IScLFJPTEVf7ZqM7JuQLFJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTU1LCJleHAiOjE3MTIzMjg3NTV9.pnnMj53ZN72CzZCzDjJEhb-Nll5icluNC-x99dF-AH4
{
"title" : "삶의 목적을 찾는 45가지 방법",
"author" : "ChatGPT",
"totalQuantity" : 10,
"bookDepartment" : "DOCUMENT"
}
Request Cookies
Name | Description |
---|---|
|
ACCESS TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
|
REFRESH TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
Path Parameters
Parameter | Description |
---|---|
|
책 id |
책 썸네일 수정
요청
Request
PATCH /manage/books/49/thumbnail HTTP/1.1
Content-Type: multipart/form-data;charset=UTF-8; boundary=6o2knFse3p53ty9dmcQvWAIx1zInP11uCfbm
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI3NjgiLCJyb2xlcyI6IlJPTEVf7IKs7IScLFJPTEVf7ZqM7JuQLFJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTU1LCJleHAiOjE3MTExMjI3NTV9.z0btRUiH6s3o3IyZL_hbzCh8_3anh7VkpnZFiRr9Qxc
Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI3NjgiLCJyb2xlcyI6IlJPTEVf7IKs7IScLFJPTEVf7ZqM7JuQLFJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTU1LCJleHAiOjE3MTIzMjg3NTV9.4VxQ4m7dK-PBHwsqNqi-5FWv7MQj_v_gHCMU8EcvaZY
Request Cookies
Name | Description |
---|---|
|
ACCESS TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
|
REFRESH TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
Request Parts
파트명 | 필수값 | 설명 |
---|---|---|
|
책의 썸네일 (null 값으로 보낼 경우 기본 썸네일로 지정됩니다.) |
책 상세 정보 보기
요청
Request
GET /manage/books/51 HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI3NzAiLCJyb2xlcyI6IlJPTEVf7IKs7IScLFJPTEVf7ZqM7JuQLFJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTU1LCJleHAiOjE3MTExMjI3NTV9.oVGc_dP3N7BmVXyVEEGF3LN9sFsquM8xk8UROzNBmlY
Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI3NzAiLCJyb2xlcyI6IlJPTEVf7IKs7IScLFJPTEVf7ZqM7JuQLFJPTEVf7ZqM7JuQIiwiaWF0IjoxNzExMTE5MTU1LCJleHAiOjE3MTIzMjg3NTV9.g1LUBCaxah3_JJE1xNRJ2koIgNqN1DAH3lh_0w9GnNo
Request Cookies
Name | Description |
---|---|
|
ACCESS TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
|
REFRESH TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
Path Parameters
Parameter | Description |
---|---|
|
책 id |
응답
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: 1078
{
"bookId" : 51,
"title" : "도서 제목",
"author" : "도서 저자",
"bookDepartment" : "ETC",
"totalQuantity" : 3,
"currentQuantity" : 1,
"thumbnailPath" : "keeper_files/thumbnail/2024-03-22/f165c279-5192-46a9-9b5b-f71563e9cbfc.jpeg",
"borrowInfos" : [ {
"borrowInfoId" : 36,
"bookId" : 51,
"bookTitle" : "도서 제목",
"author" : "도서 저자",
"totalQuantity" : 3,
"currentQuantity" : 1,
"borrowerId" : 771,
"borrowerRealName" : "RiUisplqNe",
"requestDatetime" : "2024-03-22T00:00:00",
"borrowDateTime" : "2024-03-22T00:00:00",
"expiredDateTime" : "2024-04-05T00:00:00",
"status" : "대출중"
}, {
"borrowInfoId" : 37,
"bookId" : 51,
"bookTitle" : "도서 제목",
"author" : "도서 저자",
"totalQuantity" : 3,
"currentQuantity" : 1,
"borrowerId" : 772,
"borrowerRealName" : "mGRjgjPdUD",
"requestDatetime" : "2024-03-22T00:00:00",
"borrowDateTime" : "2024-03-22T00:00:00",
"expiredDateTime" : "2024-04-05T00:00:00",
"status" : "반납대기"
} ]
}
Response Fields
Path | Type | Description |
---|---|---|
|
|
책 ID |
|
|
책 썸네일 주소 |
|
|
책 이름 |
|
|
책 저자 |
|
|
책 현재 수량 |
|
|
책 전체 수량 |
|
|
책 카테고리 |
|
|
대출 정보 ID |
|
|
대출할 책의 ID |
|
|
대출할 책의 제목 |
|
|
대출할 책의 저자 |
|
|
대출할 책의 전체 수량 |
|
|
대출할 책의 남은 수량 |
|
|
대출자의 ID |
|
|
대출자의 실명 |
|
|
대출 요청을 한 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
대출 승인을 한 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
반납 예정 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
대출의 현재 상태 [대출대기, 대출반려, 대출중, 반납대기, 반납완료] |
대출 정보 목록 조회
요청
Request
GET /manage/borrow-infos?page=0&size=3&status=requests HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMTU3Iiwicm9sZXMiOiJST0xFX-yCrOyEnCxST0xFX-2ajOybkCxST0xFX-2ajOybkCIsImlhdCI6MTcxMTExOTE1NywiZXhwIjoxNzExMTIyNzU3fQ.3v2V369k0ox-H3oPFLMZDuf-wGXJYczdQDSOMh7OODs
Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMTU3Iiwicm9sZXMiOiJST0xFX-yCrOyEnCxST0xFX-2ajOybkCxST0xFX-2ajOybkCIsImlhdCI6MTcxMTExOTE1NywiZXhwIjoxNzEyMzI4NzU3fQ.695tJAIeHZAOxxTqpoYfq6ZbeVoOAkunLgFe_eVdjhc
Request Cookies
Name | Description |
---|---|
|
ACCESS TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
|
REFRESH TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
Request Parameters
파라미터명 | 필수값 | 양식 | 설명 |
---|---|---|---|
|
페이지 (양수여야 합니다.) |
||
|
한 페이지당 불러올 개수 (default: 10) 최대: 100 최소: 3 |
||
|
검색 키워드. 도서명, 저자, 실명에서 검색해옵니다. |
||
|
requests, willreturn, requests_or_willreturn, overdue |
만약 빈 값으로 보낼 경우 대출 관련 정보를 모두 가져옵니다. |
응답
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: 1640
{
"content" : [ {
"borrowInfoId" : 408,
"bookId" : 421,
"bookTitle" : "도서 제목",
"author" : "도서 저자",
"totalQuantity" : 1,
"currentQuantity" : 1,
"borrowerId" : 1158,
"borrowerRealName" : "mXtdmyStkJ",
"requestDatetime" : null,
"borrowDateTime" : "2024-03-22T14:52:37",
"expiredDateTime" : "2024-04-05T14:52:37",
"status" : "대출대기"
}, {
"borrowInfoId" : 409,
"bookId" : 422,
"bookTitle" : "도서 제목",
"author" : "도서 저자",
"totalQuantity" : 1,
"currentQuantity" : 1,
"borrowerId" : 1159,
"borrowerRealName" : "AwWzTonQxF",
"requestDatetime" : null,
"borrowDateTime" : "2024-03-22T14:52:37",
"expiredDateTime" : "2024-04-05T14:52:37",
"status" : "대출대기"
}, {
"borrowInfoId" : 410,
"bookId" : 423,
"bookTitle" : "도서 제목",
"author" : "도서 저자",
"totalQuantity" : 1,
"currentQuantity" : 1,
"borrowerId" : 1160,
"borrowerRealName" : "JiliWsPchI",
"requestDatetime" : null,
"borrowDateTime" : "2024-03-22T14:52:37",
"expiredDateTime" : "2024-04-05T14:52:37",
"status" : "대출대기"
} ],
"pageable" : {
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"offset" : 0,
"pageNumber" : 0,
"pageSize" : 3,
"paged" : true,
"unpaged" : false
},
"last" : false,
"totalPages" : 7,
"totalElements" : 20,
"first" : true,
"size" : 3,
"number" : 0,
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"numberOfElements" : 3,
"empty" : false
}
Response Fields
Path | Type | Description |
---|---|---|
|
|
대출 정보 ID |
|
|
대출할 책의 ID |
|
|
대출할 책의 제목 |
|
|
대출할 책의 저자 |
|
|
대출할 책의 전체 수량 |
|
|
대출할 책의 남은 수량 |
|
|
대출자의 ID |
|
|
대출자의 실명 |
|
|
대출 요청을 한 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
대출 승인을 한 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
반납 예정 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
대출의 현재 상태 [대출대기, 대출반려, 대출중, 반납대기, 반납완료] |
|
|
가져오는 페이지가 비어 있는 지 |
|
|
첫 페이지인지 |
|
|
마지막 페이지인지 |
|
|
페이지 number (0부터 시작) |
|
|
현재 페이지의 데이터 개수 |
|
|
페이지에 대한 부가 정보 |
|
|
정렬 기준이 비어 있는 지 |
|
|
정렬이 되었는지 |
|
|
정렬이 되지 않았는지 |
|
|
총 페이지 수 |
|
|
총 데이터 개수 |
|
|
한 페이지당 데이터 개수 |
대출 승인
호출 시 해당 책의 currentQuantity가 1 감소합니다. |
요청
Request
POST /manage/borrow-infos/467/requests-approve HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjE5Iiwicm9sZXMiOiJST0xFX-yCrOyEnCxST0xFX-2ajOybkCxST0xFX-2ajOybkCIsImlhdCI6MTcxMTExOTE1OCwiZXhwIjoxNzExMTIyNzU4fQ.oc4QXi4jVoAff4a1NBk3NQ8oTIAZvFAH1_cNqaw5KEA
Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjE5Iiwicm9sZXMiOiJST0xFX-yCrOyEnCxST0xFX-2ajOybkCxST0xFX-2ajOybkCIsImlhdCI6MTcxMTExOTE1OCwiZXhwIjoxNzEyMzI4NzU4fQ.hCRI23KZcbQ7v8b71qZ6H-6oxX3KGL0x-moxmCLIdlE
Content-Type: application/x-www-form-urlencoded
Request Cookies
Name | Description |
---|---|
|
ACCESS TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
|
REFRESH TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
Path Variables
Parameter | Description |
---|---|
|
대출 ID |
대출 거절
요청
Request
POST /manage/borrow-infos/468/requests-deny HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjIxIiwicm9sZXMiOiJST0xFX-yCrOyEnCxST0xFX-2ajOybkCxST0xFX-2ajOybkCIsImlhdCI6MTcxMTExOTE1OCwiZXhwIjoxNzExMTIyNzU4fQ.4HPOqcUHu_FTIZTRusFdeCszu5IkZ8kM41Jo3PlE6ek
Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjIxIiwicm9sZXMiOiJST0xFX-yCrOyEnCxST0xFX-2ajOybkCxST0xFX-2ajOybkCIsImlhdCI6MTcxMTExOTE1OCwiZXhwIjoxNzEyMzI4NzU4fQ.6H_xMSsI4ozdRhgeXSBBfWVP_IXqk_JlJi5AdSqlNsc
Content-Type: application/x-www-form-urlencoded
Request Cookies
Name | Description |
---|---|
|
ACCESS TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
|
REFRESH TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
Path Variables
Parameter | Description |
---|---|
|
대출 ID |
반납 승인
호출 시 해당 책의 currentQuantity가 1 증가합니다. |
요청
Request
POST /manage/borrow-infos/470/return-approve HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjI1Iiwicm9sZXMiOiJST0xFX-yCrOyEnCxST0xFX-2ajOybkCxST0xFX-2ajOybkCIsImlhdCI6MTcxMTExOTE1OCwiZXhwIjoxNzExMTIyNzU4fQ.o2bW3OxXPzlS-HJ_lXyZSS3FHOIZHqjnqgf9j6q5yb8
Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjI1Iiwicm9sZXMiOiJST0xFX-yCrOyEnCxST0xFX-2ajOybkCxST0xFX-2ajOybkCIsImlhdCI6MTcxMTExOTE1OCwiZXhwIjoxNzEyMzI4NzU4fQ.ufSj_N6BtPc6VLBkpxkxW11GrJcDF8pi4hsbC4L8_3Y
Content-Type: application/x-www-form-urlencoded
Request Cookies
Name | Description |
---|---|
|
ACCESS TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
|
REFRESH TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
Path Variables
Parameter | Description |
---|---|
|
대출 ID |
반납 거절
호출 시 해당 대여 기록은 "대출" 상태로 남습니다. |
요청
Request
POST /manage/borrow-infos/471/return-deny HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjI3Iiwicm9sZXMiOiJST0xFX-2ajOybkCxST0xFX-yCrOyEnCxST0xFX-2ajOybkCIsImlhdCI6MTcxMTExOTE1OCwiZXhwIjoxNzExMTIyNzU4fQ.nRbQtMO4po0HtjQYuZV0oBQQc7juelHzSEPeOShOtKA
Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjI3Iiwicm9sZXMiOiJST0xFX-2ajOybkCxST0xFX-yCrOyEnCxST0xFX-2ajOybkCIsImlhdCI6MTcxMTExOTE1OCwiZXhwIjoxNzEyMzI4NzU4fQ.EcVKVLwJcTTZwUgOERk3x2bPzgEX_K0hciw24UpQ8M4
Content-Type: application/x-www-form-urlencoded
Request Cookies
Name | Description |
---|---|
|
ACCESS TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
|
REFRESH TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
Path Variables
Parameter | Description |
---|---|
|
대출 ID |
대출 현황 로그 목록 조회
요청
Request
GET /manage/borrow-infos/logs?page=0&size=3&searchType=&search= HTTP/1.1
Host: docs.api.com
Cookie: accessToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMyIiwicm9sZXMiOiJST0xFX-yCrOyEnCxST0xFX-2ajOybkCxST0xFX-2ajOybkCIsImlhdCI6MTcxMTExOTE1OCwiZXhwIjoxNzExMTIyNzU4fQ.mla-iOP1juqgZcyICMqdiWkF9zRcRbxOF41DKG0cvSs
Cookie: refreshToken=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjMyIiwicm9sZXMiOiJST0xFX-yCrOyEnCxST0xFX-2ajOybkCxST0xFX-2ajOybkCIsImlhdCI6MTcxMTExOTE1OCwiZXhwIjoxNzEyMzI4NzU4fQ.mFhltrCBx3YQPn2qQ7laoPapBR03wSCOwPmj2Df-7ho
Request Cookies
Name | Description |
---|---|
|
ACCESS TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
|
REFRESH TOKEN (ROLE_회장, ROLE_부회장, ROLE_사서) |
Request Parameters
파라미터명 | 필수값 | 양식 | 설명 |
---|---|---|---|
|
페이지 (양수여야 합니다.) |
||
|
한 페이지당 불러올 개수 (default: 10) 최대: 100 최소: 3 |
||
|
검색 키워드. 도서명, 저자, 실명에서 검색해옵니다. |
||
|
대출중, 반납대기, 반납완료, 대출반려, 전체 |
만약 null로 보낼 경우 대출 관련 정보를 모두 가져옵니다. |
응답
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: 1547
{
"content" : [ {
"borrowInfoId" : 1,
"bookId" : 1,
"bookTitle" : "책 제목",
"author" : "책 저자",
"borrowerId" : 1,
"borrowerRealName" : "실명",
"borrowDateTime" : "2024-03-22T14:52:38",
"expireDateTime" : "2024-04-05T14:52:38",
"returnDateTime" : "2024-03-22T14:52:38",
"rejectDateTime" : null,
"status" : "반납완료"
}, {
"borrowInfoId" : 1,
"bookId" : 1,
"bookTitle" : "책 제목",
"author" : "책 저자",
"borrowerId" : 1,
"borrowerRealName" : "실명",
"borrowDateTime" : "2024-03-22T14:52:38",
"expireDateTime" : "2024-04-05T14:52:38",
"returnDateTime" : null,
"rejectDateTime" : null,
"status" : "반납대기"
}, {
"borrowInfoId" : 1,
"bookId" : 1,
"bookTitle" : "책 제목",
"author" : "책 저자",
"borrowerId" : 1,
"borrowerRealName" : "실명",
"borrowDateTime" : "2024-03-22T14:52:38",
"expireDateTime" : "2024-04-05T14:52:38",
"returnDateTime" : null,
"rejectDateTime" : "2024-03-22T14:52:38",
"status" : "대출반려"
} ],
"pageable" : {
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"offset" : 0,
"pageNumber" : 0,
"pageSize" : 3,
"paged" : true,
"unpaged" : false
},
"last" : false,
"totalPages" : 2,
"totalElements" : 4,
"first" : true,
"size" : 3,
"number" : 0,
"sort" : {
"empty" : true,
"sorted" : false,
"unsorted" : true
},
"numberOfElements" : 3,
"empty" : false
}
Response Fields
Path | Type | Description |
---|---|---|
|
|
대출 정보 ID (대출 로그 id는 아닙니다) |
|
|
대출한 책의 ID |
|
|
대출한 책의 제목 |
|
|
대출한 책의 저자 |
|
|
대출한 유저의 Id |
|
|
대출한 유저의 실명 |
|
|
대출을 한 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
반납 예정 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
반납 승인을 한 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
반납 반려를 한 시간 (양식: yyyy-MM-dd’T’HH:mm:ss) |
|
|
로그가 찍힐 때의 대출 상태. 종류: 대출중, 반납대기, 반납완료, 대출반려, 전체 |
|
|
가져오는 페이지가 비어 있는 지 |
|
|
첫 페이지인지 |
|
|
마지막 페이지인지 |
|
|
페이지 number (0부터 시작) |
|
|
현재 페이지의 데이터 개수 |
|
|
페이지에 대한 부가 정보 |
|
|
정렬 기준이 비어 있는 지 |
|
|
정렬이 되었는지 |
|
|
정렬이 되지 않았는지 |
|
|
총 페이지 수 |
|
|
총 데이터 개수 |
|
|
한 페이지당 데이터 개수 |