API 명세서 - f-lab-edu/book-challenge GitHub Wiki

책 전체 조회(OFFSET 방식)

요청 메서드: GET 요청 경로: /api/v1/books/legacy

요청데이터

{
  "page": 0,
  "size": 2,
  "sort": [
    "string"
  ]
}

응답 데이터

{
  "success": true,
  "content": {
    "pageNumber": 0,
    "size": 2,
    "totalElementSize": 5000000,
    "totalPageSize": 2500000,
    "hasNext": true,
    "data": [
      {
        "id": 4940780,
        "bookCode": "1HPHOAH40KL07",
        "name": "Book Title 4940780",
        "pageCount": 772,
        "createAt": "2024-09-06T14:40:03"
      },
      {
        "id": 4940789,
        "bookCode": "D53SBRTLLJVBE",
        "name": "Book Title 4940789",
        "pageCount": 857,
        "createAt": "2024-09-06T14:40:03"
      }
    ]
  },
  "error": null
}

책 추가

요청 메서드: POST 요청 경로: /api/v1/books

요청 데이터

{
  "bookCode": "string",
  "name": "string",
  "pageCount": 0
}

응답 데이터

{
  "success": true,
  "content": 5000001,
  "error": null
}

책 수정

요청 메서드: PUT 요청 경로: /api/v1/books

요청 데이터

{
  "id": 0,
  "bookCode": "string",
  "name": "string",
  "pageCount": 0
}

응답 데이터

{
  "success": true,
  "content": 0,
  "error": {
    "code": "string",
    "message": "string"
  }
}

책 검색

요청 메서드: GET 요청 경로: /api/v1/books/search

요청 데이터

http://localhost:8080/api/v1/books/search?page=0&size=1&sort=%5B%22string%22%5D&useSearchBtn=true&bookCode=string&name=string&minPageCount=0&maxPageCount=0

응답 데이터

{
  "success": true,
  "content": {
    "pageNumber": 0,
    "size": 0,
    "totalElementSize": 0,
    "totalPageSize": 0,
    "hasNext": true,
    "data": [
      {
        "id": 0,
        "bookCode": "string",
        "name": "string",
        "pageCount": 0,
        "createAt": "2025-02-20T12:17:53.394Z"
      }
    ]
  },
  "error": {
    "code": "string",
    "message": "string"
  }
}

책 삭제

요청 메서드: DELETE 요청 경로: /api/v1/books

요청 데이터

http://localhost:8080/api/v1/books?id=500001

응답 데이터

{}