ReadMemoからのリクエストを受け取るサーバサイドアプリケーションです。取得したリクエストに応じた書籍情報を返却します。
本アプリケーションは楽天ブックスAPIを使用します。従って、楽天ブックスAPIの利用に必要となるアプリケーションIDを環境変数として定義します。
- プロジェクトルートディレクトリに
.envファイルを作成する
touch .env
.envファイルに以下を追加する(アフィリエイトIDは記述しなくても動作します)
READMEMO_RAKUTEN_BOOKS_APPLICATION_ID=<楽天から取得したアプリケーションID>
READMEMO_RAKUTEN_BOOKS_AFFILIATE_ID=<楽天から取得したアフィリエイトID(オプション)>
- Dockerfileからイメージを作成する
docker build -t <image-name> .
- コンテナを起動する(マッピングするコンテナ側のポートは
8080番を指定する)
docker run -it -d --name <container-name> -p <hosts-port-number>:8080 <image-name>
指定したISBNに対応する本の情報が返されます。
- 本アプリケーションが動作しているサーバに下記リクエストを送信する
<サーバアドレス:hosts-port-number>/book-info-getter/isbn?isbn=<isbn>
指定したタイトルに一致する本の情報が最大30件返されます。
- 本アプリケーションが動作しているサーバに下記リクエストを送信する
<サーバアドレス:hosts-port-number>/book-info-getter/title?title=<title-name(UTF-8)>&page=<楽天ブックスAPIが表示するページ番号(最大100)>
指定した著者名に一致する本の情報が最大30件返されます。
- 本アプリケーションが動作しているサーバに下記リクエストを送信する
<サーバアドレス:hosts-port-number>/book-info-getter/author?author=<author-name(UTF-8)>&page=<楽天ブックスAPIが表示するページ番号(最大100)>
指定した出版社名に一致する本の情報が最大30件返されます。
- 本アプリケーションが動作しているサーバに下記リクエストを送信する
<サーバアドレス:hosts-port-number>/book-info-getter/publisher?publisher=<publisher-name(UTF-8)>&page=<楽天ブックスAPIが表示するページ番号(最大100)>
指定したジャンルに一致する本の情報が最大30件返されます。
- 本アプリケーションが動作しているサーバに下記リクエストを送信する
<サーバアドレス:hosts-port-number>/book-info-getter/genre?genre=<genre(楽天ブックスAPIの仕様に準拠する)>&page=<楽天ブックスAPIが表示するページ番号(最大100)>