Skip to content

[tecobrary server api v2 rent history] 기능 명세

thedevluffy edited this page Dec 10, 2019 · 10 revisions

필요 레포지토리

  • UserRepository
  • LibraryBookRepository
  • SerialRepository
  • RentHistoryRepository

기능 명세

  1. [get] /rents/:userId 해당 유저의 전체 도서 대여 목록을 반환한다.

    • res
    [
      {
        id: 50,
        serial: 100,
        title: '그림으로 배우는 HTTP & Network Basic (재미있게 배워보는 웹과 네트워크 입문)',
        userId: 12,
        rentDate: 2019-11-22T09:13:09.000Z
      },
      {
        id: 51,
        serial: 82,
        title: '소프트웨어 장인 (프로페셔널리즘, 실용주의, 자부심)',
        userId: 12,
        rentDate: 2019-11-22T09:13:13.000Z
      }
    ]
  2. [get] /rents/all?page=1&number=4 모든 유저의 페이지에 맞고 number 수 만큼 전체의 도서 대여 목록을 반환한다.

    • res
    [
      {
        id: 23,
        userName: '타노',
        title: 'SQL 첫걸음 (하루 30분 36강으로 배우는 완전 초보의 SQL 따라잡기)',
        serial: 21,
        rentDate: 2019-10-28T06:59:46.000Z
      },
      {
        id: 31,
        userName: '안나',
        title: '해커와 화가',
        serial: 126,
        rentDate: 2019-11-04T07:58:23.000Z
      },
      {
        id: 37,
        userName: '흐엉',
        title: '열혈강의 자바 웹 개발 워크북 (MVC 아키텍처 마이바티스 스프링으로 만드는 실무형 개발자 로드맵)',
        serial: 5,
        rentDate: 2019-11-07T00:51:40.000Z
      },
      {
        id: 39,
        userName: '흐엉',
        title: '코딩을 지탱하는 기술 (원리로 깨우치는 프로그래밍 기법)',
        serial: 2,
        rentDate: 2019-11-11T03:48:41.000Z
      }
    ]
  3. [post] /rents serial과 userId 를 받아 도서 대여를 처리한다.

    • req

      {
          "serial": target_serial,
          "userId": rent_request_user_id
      }
    • res

      {
          "rentInfo": {
              "title": "객체지향의 사실과 오해 (역할, 책임, 협력 관점에서 본 객체지향)",
              "serialNumber": 1,
              "status": true
          },
          "message": "대여에 성공하였습니다."
      }
      • 이미 대여된 LibraryBook 의 경우
        {
            "rentInfo": {
                "serial": 5,
                "userId": 1
            },
            "message": "이미 대여 중인 책입니다."
        }
      • 존재하지 않는 SerialNumber 의 경우
        {
            "serial": "request_target_serial"
            "message": "존재하지 않는 일련번호 입니다."
        }
  4. [delete] /rents serial 을 받아 도서 반납을 처리한다.

    • req
      {
          "serial": "return_target_serial"
      }
    • res
      {
          "serial": "return_target_serial",
          "title": "return_target_book",
          "message": "반납에 성공하였습니다."
      }
      • 반납 가능한 상태가 아닌 경우, 본인이 대여한 책이 아닌 경우
        {
            "serial": "return_target_serial",
            "message": "대여 중인 도서가 아닙니다."
        }
      • 존재하지 않는 SerialNumber 의 경우
        {
            "serial": "request_target_serial"
            "message": "존재하지 않는 일련번호 입니다."
        }
Clone this wiki locally