Thanks to visit codestin.com
Credit goes to github.com

Skip to content

poulenc51/Bookshelf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bookshelf

書籍管理システム

使用方法

このプロジェクトを使用するには、以下の手順に従ってください:

  1. リポジトリをクローンする:
    git clone https://github.com/poulenc51/Bookshelf.git
    
  2. プロジェクトディレクトリに移動する:
    cd Bookshelf
    
  3. dockerを起動する :
    cd db
    docker-compose up -d
    
  4. プロジェクトをビルドする:
    cd ..
    ./gradlew build
    
  5. アプリケーションを実行する :
    ./gradlew run
    

API一覧

以下は、APIの使用例です。詳細なドキュメントは、各APIエンドポイントのリンクをクリックしてください。

書籍一覧取得
  • リクエスト: GET /book/
  • パラメータ: なし
  • レスポンス: 200 OK, JSON形式の書籍リスト
  • cURLでの実行例:
    curl -X GET "http://localhost:8080/book/ -H "accept: application/json"
著者IDに紐づく書籍一覧取得
  • リクエスト: GET /book/{authorId}
  • パラメータ: authorId
  • レスポンス: 200 OK, JSON形式の書籍リスト
  • cURLでの実行例:
    curl -X GET "http://localhost:8080/book/2 -H "accept: application/json"
キーワード(タイトル)に紐づく書籍一覧取得
  • リクエスト: GET /book/keyword={keyword}
  • パラメータ: keyword
  • レスポンス: 200 OK, JSON形式の書籍リスト
  • cURLでの実行例:
    curl -X GET "http://localhost:8080/book/keyword=猫 -H "accept: application/json"
書籍追加
  • リクエスト: POST /book/add
  • パラメータ:
    {
     "title": "海辺のカフカ",
     "authorId": 1,
     "publicationDate": "2002-09-12"
    }
  • レスポンス:書籍が追加されたことを示す文字列
  • cURLでの実行例:
    curl -X POST "http://localhost:8080/book/add" -H "Content-Type: application/json" -d '{
     "title": "海辺のカフカ",
     "authorId": 1,
     "publicationDate": "2002-09-12"
    }
書籍更新
  • リクエスト: POST /book/update
  • パラメータ:
    {
     "bookId": 5,
     "title": "こころ",
     "authorId": 2,
     "publicationDate": "1914-08-11"
    }
  • レスポンス:書籍が更新されたことを示す文字列
  • cURLでの実行例:
    curl -X POST "http://localhost:8080/book/update" -H "Content-Type: application/json" -d '{
     "bookId": 5,
     "title": "こころ",
     "authorId": 2,
     "publicationDate": "1914-08-11"
    }
書籍削除
  • リクエスト: POST /book/delete
  • パラメータ:
    {
     "bookId": 5
    }
  • レスポンス:書籍が更新されたことを示す文字列
  • cURLでの実行例:
    curl -X POST "http://localhost:8080/book/delete" -H "Content-Type: application/json" -d '{
     "bookId": 5
    }
著者一覧取得
  • リクエスト: GET /author/
  • パラメータ: なし
  • レスポンス: 200 OK, JSON形式の書籍リスト
  • cURLでの実行例:
    curl -X GET "http://localhost:8080/author/ -H "accept: application/json"
キーワード(名前)に紐づく著者一覧取得
  • リクエスト: GET /author/keyword={keyword}
  • パラメータ: keyword
  • レスポンス: 200 OK, JSON形式の書籍リスト
  • cURLでの実行例:
    curl -X GET "http://localhost:8080/author/keyword=村上 -H "accept: application/json"
著者追加
  • リクエスト: POST /author/add
  • パラメータ:
    {
     "name": "太宰 治",
     "description": ""
    }
  • レスポンス:著者が追加されたことを示す文字列
  • cURLでの実行例:
    curl -X POST "http://localhost:8080/author/add" -H "Content-Type: application/json" -d '{
     "name": "太宰 治",
     "description": ""
    }
著者更新
  • リクエスト: POST /author/update
  • パラメータ:
    {
     "authorId": 5,
     "name": "クリストファー・パオリーニ",
     "description": ""
    }
  • レスポンス:書籍が更新されたことを示す文字列
  • cURLでの実行例:
    curl -X POST "http://localhost:8080/author/update" -H "Content-Type: application/json" -d '{
     "authorId": 5,
     "name": "クリストファー・パオリーニ",
     "description": ""
    }
著者削除
  • リクエスト: POST /author/delete
  • パラメータ:
    {
     "authorId": 5
    }
  • レスポンス:書籍が更新されたことを示す文字列
  • cURLでの実行例:
    curl -X POST "http://localhost:8080/book/delete" -H "Content-Type: application/json" -d '{
     "authorId": 5
    }

テクノロジー

プロジェクトで使用している主な技術やライブラリについて記載します。

  • Kotlin (corretto-21)
  • Spring Boot (3.2.3)
  • jOOQ (3.17.22)
  • Postgres (14.0-alpine)

連絡先

プロジェクトに関する質問やフィードバックがある場合は、GitHub Issuesを通じてお問い合わせください。

About

書籍管理システム

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published