こちらのハンズオンでは、Pythonの軽量ウェブフレームワークであるFlaskを利用したAPIを作成します。
| エンドポイント | method | コマンド例 | |
|---|---|---|---|
| / | GET | curl localhost:5000 |
メッセージを返す |
| /time | GET | curl localhost:5000/time |
現在時刻を返す |
| /date | GET | curl -X POST -d 'days=2022-10-03' http://localhost:5000/date |
入力した日付から曜日を算出 |
| /aphorism | GET | curl localhost:5000/aphorism |
偉人の名言を返す |
| /fortune | GET | curl localhost:5000/fortune |
ポジティブおみくじ |
| /message | POST | curl -X POST -d 'name=kazu' http://localhost:5000/message |
労いの言葉を返す |
| /login | POST | curl -X POST -d '{"username": "hoge", "password": "123456"}' http://localhost:5000/login |
ログイン機能のサンプル |
以下、macでの環境を想定しています。
Python での仮想環境を構築するため、virtualenv をインストールする。
pip3 install virtualenv以下のエラーが発生した場合、コマンドの先頭にsudoをつけて再度実行する。
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/Library/Python/3.7'Consider using the `--user` option or check the permissions. sudo pip3 install virtualenv次に、プロジェクトを作成したいディレクトリへ移動し、下記コマンドを実行する。 こちらのコマンドにより、移動したディレクトリに virtualenv の設定ファイルが作成される。
virtualenv env次に、以下のコマンドで virtualenv を有効化する。
source env/bin/activatevirtualenvでの環境構築が成功した場合、以下のように、プロンプトの前に()でvirtualenvコマンドを実行した時の名前が表示される。
(env)user@hoge|ディレクトリ以下のコマンドで、Flask をインストールする。
pip3 install flask現在のディレクトリにファイルapp.pyを作成する。
touch app.py作成したapp.pyファイルに以下の内容を記述する。
from flask import Flask
app = Flask(__name__)
@app.route('/', methods=['GET'])
def hello():
return 'Hello World'
if __name__ == "__main__":
app.run(debug=True)app.pyファイルと同じディレクトリにて、以下のコマンドを実行し、APIサーバーを起動する。
http://localhost:5000にブラウザでアクセスし、Hello Worldが表示されると完了です。
flask run