1. MemberController
1.1. 회원 등록
$ echo '{
"name" : "David",
"phone" : "010-1111-1111",
"email" : "han@han.com",
"password" : "1234"
}' | http POST 'http://localhost:8080/members/1' \
'Content-Type:application/json' \
'Accept:application/json'
Parameter | Description |
---|---|
|
도서관 식별자 |
Path | Type | Description |
---|---|---|
|
|
이름 |
|
|
휴대폰 번호 |
|
|
이메일 |
|
|
비밀번호 |
{
"libraryId" : 1,
"memberId" : 1,
"name" : "David",
"phone" : "010-1111-1111",
"email" : "han@han.com",
"password" : "1234",
"url" : "http://localhost:8080/members/1"
}
Path | Type | Description |
---|---|---|
|
|
회원 식별자 |
|
|
도서관 식별자 |
|
|
이름 |
|
|
휴대폰 번호 |
|
|
이메일 |
|
|
비밀번호 |
|
|
조회 URL |
1.2. 회원 조회
$ http GET 'http://localhost:8080/members/1/1' \
'Accept:application/json'
Parameter | Description |
---|---|
|
도서관 식별자 |
|
회원 식별자 |
{
"libraryId" : 1,
"memberId" : 1,
"name" : "David",
"phone" : "010-1111-1111",
"email" : "han@han.com",
"password" : "1234",
"url" : "http://localhost:8080/members/1"
}
Path | Type | Description |
---|---|---|
|
|
소속 도서관 식별자 |
|
|
회원 식별자 |
|
|
이름 |
|
|
휴대폰 번호 |
|
|
이메일 |
|
|
비밀번호 |
|
|
조회 URL |
1.3. 회원 삭제
$ http DELETE 'http://localhost:8080/members/1/1' \
'Accept:application/json'
Parameter | Description |
---|---|
|
도서관 식별자 |
|
회원 식별자 |
HTTP/1.1 204 No Content
1.4. 회원 대여 기록 조회
$ http GET 'http://localhost:8080/members/history/1?page=1&size=10' \
'Accept:application/json'
Parameter | Description |
---|---|
|
회원 식별자 |
Parameter | Description |
---|---|
|
내용이 나오는 페이지 |
|
한 페이지에 나오는 최대 갯수 |
{
"data" : [ {
"memberId" : 1,
"libraryId" : 1,
"bookId" : 1,
"memberBookId" : 1,
"bookTitle" : "해리포터",
"createdAt" : "2023-05-19",
"dueReturnDate" : "2023-06-02",
"returnedDate" : "2023-05-19"
} ],
"pageinfo" : {
"page" : 0,
"size" : 1,
"totalElements" : 1,
"totalPages" : 1
}
}
2. BookController
2.1. 도서 대여
$ http POST 'http://localhost:8080/books/1/1/1' \
'Content-Type:application/json' \
'Accept:application/json'
Parameter | Description |
---|---|
|
대여하고자 하는 LibraryId |
|
대여하고자 하는 도서관의 BookId |
|
대여하는 도서관의 memberId |
{
"libraryId" : 1,
"memberId" : 1,
"bookId" : 1,
"memberBookId" : 1,
"bookTitle" : "해리포터",
"createdAt" : "2023-05-19",
"dueReturnDate" : "2023-06-02"
}
Path | Type | Description |
---|---|---|
|
|
대여한 LibraryId |
|
|
대여 당사자 memberId |
|
|
대여한 bookId |
|
|
대여된 memberBookId |
|
|
대여한 책 이름 |
|
|
대여한 날짜 |
|
|
최대 반납일 |
2.2. 대여 도서 반납
$ http DELETE 'http://localhost:8080/books/2/2/2' \
'Content-Type:application/json' \
'Accept:application/json'
Parameter | Description |
---|---|
|
대여하고자 하는 LibraryId |
|
대여하고자 하는 도서관의 BookId |
|
대여하는 도서관의 memberId |
{
"memberId" : 1,
"libraryId" : 1,
"bookId" : 1,
"memberBookId" : 1,
"bookTitle" : "해리포터2",
"createdAt" : "2023-05-04",
"returnedAt" : "2023-05-19",
"overdueDays" : 1,
"message" : "연체가 발생되어 1일 동안 대여할 수 없습니다. 2023-05-20 일부터 대여할 수 있습니다."
}
Path | Type | Description |
---|---|---|
|
|
반납한 회원 식별자 |
|
|
반납한 도서관 식별자 |
|
|
반납한 도서 식별자 |
|
|
반납한 대여책 식별자 |
|
|
책 제목 |
|
|
대여한 책의 대여날짜 |
|
|
대여한 책의 반납날짜 |
|
|
연체 날짜 |
|
|
반납 상태 메세지 |
2.3. 도서 검색
$ http GET 'http://localhost:8080/books/1?page=1&size=10' \
'Accept:application/json'
Parameter | Description |
---|---|
|
검색할 도서 Id |
{
"data" : [ {
"libraryId" : 1,
"bookId" : 1,
"libraryBookId" : 1,
"bookTitle" : "해리포터",
"bookAuthor" : "JK롤링",
"bookPublisher" : "A출판사",
"bookStatus" : "AVAILABLE",
"url" : "http://localhost:8080/books/1"
} ],
"pageinfo" : {
"page" : 0,
"size" : 1,
"totalElements" : 1,
"totalPages" : 1
}
}
Path | Type | Description |
---|---|---|
|
|
소속 도서관 ID |
|
|
검색한 도서 ID |
|
|
도서관에 보관중인 책 ID |
|
|
검색한 도서 이름 |
|
|
검색한 도서 저자 |
|
|
검색한 도서 출판사 |
|
|
검색한 도서의 대여 가능 여부 |
|
|
url |
|
|
페이지 정보 |
|
|
리스트의 현재 페이지 |
|
|
페이지당 최대 표시 수 |
|
|
모든 페이지의 총 표시 수 |
|
|
총 페이지 수 |
3. LibraryController
3.1. 도서관 회원 조회
$ http GET 'http://localhost:8080/library/1/members?page=1&size=10' \
'Accept:application/json'
Parameter | Description |
---|---|
|
대상 도서관 ID |
Parameter | Description |
---|---|
|
목록 페이지 |
|
한 페이지에 표시되는 최대 갯수 |
{
"data" : [ {
"libraryId" : 1,
"memberId" : 1,
"libraryMemberId" : 1,
"name" : "David",
"phone" : "010-1111-1111",
"email" : "han@han.com",
"url" : "http://localhost:8080/members/1"
} ],
"pageinfo" : {
"page" : 0,
"size" : 1,
"totalElements" : 1,
"totalPages" : 1
}
}
Path | Type | Description |
---|---|---|
|
|
소속 도서관 ID |
|
|
검색한 회원 ID |
|
|
도서관에 등록된 회원 ID |
|
|
검색한 회원 이름 |
|
|
검색한 회원 휴대번호 |
|
|
검색한 회원 이메일 |
|
|
url |
|
|
페이지 정보 |
|
|
리스트의 현재 페이지 |
|
|
페이지당 최대 표시 수 |
|
|
모든 페이지의 총 표시 수 |
|
|
총 페이지 수 |
3.2. 도서관 도서 조회
$ http GET 'http://localhost:8080/library/1/books?page=1&size=10' \
'Accept:application/json'
Parameter | Description |
---|---|
|
대상 도서관 ID |
Parameter | Description |
---|---|
|
도서 목록 표시 페이지 |
|
도서 목록 페이지당 최대 표시 수 |
{
"data" : [ {
"libraryId" : 1,
"bookId" : 1,
"libraryBookId" : 0,
"bookTitle" : "해리포터",
"bookAuthor" : "JK롤링",
"bookPublisher" : "A출판사",
"bookStatus" : "AVAILABLE",
"url" : "http://localhost:8080/books/0"
} ],
"pageinfo" : {
"page" : 0,
"size" : 1,
"totalElements" : 1,
"totalPages" : 1
}
}
Path | Type | Description |
---|---|---|
|
|
소속 도서관 ID |
|
|
검색한 도서 ID |
|
|
도서관에 보관중인 책 ID |
|
|
검색한 도서 이름 |
|
|
검색한 도서 저자 |
|
|
검색한 도서 출판사 |
|
|
검색한 도서의 대여 가능 여부 |
|
|
url |
|
|
페이지 정보 |
|
|
리스트의 현재 페이지 |
|
|
페이지당 최대 표시 수 |
|
|
모든 페이지의 총 표시 수 |
|
|
총 페이지 수 |