このREST APIは、n番目のフィボナッチ数を計算し、その結果をJSON形式で返します。
/fib_api
|-- /tests
| |-- test_api.py
|-- app.py
|-- fibonacci_calculator.py
|-- README.md
|-- requirements.txt
app.py: アプリケーションのメインファイル。Flaskアプリケーションが含まれています。fibonacci_calculator.py: フィボナッチ数の計算関数が含まれています。/tests: ユニットテストを格納するディレクトリ。test_api.py: フィボナッチ関数とAPIエンドポイントのユニットテストを含む。
README.md: アプリケーションの使用方法や詳細を説明するドキュメント。requirements.txt: 必要なPythonパッケージのリスト。
- ファイル:
fibonacci_calculator.py - 機能: 与えられた整数
nに対して、フィボナッチ数列のn番目の項目を計算します。
- URL:
/fib - メソッド:
GET - クエリパラメータ:
n(フィボナッチ数列のインデックス) - レスポンス:
- 正常時:
{"result": <フィボナッチ数>} - エラー時:
{"status": 400, "message": "Bad request."}
- 正常時:
- Python: プログラムの主要な言語。
- Flask: 軽量なWebフレームワーク。APIエンドポイントの実装に使用。
- Gunicorn: アプリのデプロイに使用。
- 必要なライブラリをインストール:
pip install -r requirements.txt- アプリケーションの実行:
開発モード (Flaskのデフォルトサーバを使用):
python3 app.py本番モード (gunicornを使用):
gunicorn app:appこのコマンドを実行すると、デフォルトで http://127.0.0.1:8000/ でサーバが起動します。異なるポートや設定で実行する場合は、gunicorn のドキュメントを参照してください。
- ユニットテストの実行:
python3 -m unittest tests/test_api.pyこのアプリケーションでは、.env ファイルを使用して環境変数を設定します。次の環境変数が必要です:
- DEBUG_MODE: デバッグモードを有効にするには True、無効にするには False を設定します。