今日はPythonのWebフレームワークであるFlaskを使用して、簡単にAPIサーバーを作成する方法をご紹介します。APIサーバーは、他のプログラムからデータを要求されたときにそのデータを提供する役割を果たします。ここでは、Flaskの jsonify
を使ってJSON形式でデータを返すAPIサーバーの作成方法を紹介します。
APIとは
APIとAPIサーバー入門
こんにちは!今日はプログラミングの世界でよく聞く「API」と「APIサーバー」について、初心者でも理解できるように説明します。なお、APIは「Application Programming Interface」の略で、直訳すると「アプリケーションプログラミングインターフェース」になります。
API(アプリケーションプログラミングインターフェース)とは
APIは大まかに言うと、ソフトウェアやアプリケーションが互いに通信したり、機能を共有したりするための規約や手段のことを指します。つまり、APIはソフトウェアやサービス間の「コミュニケーションのルール」のようなものです。
例えば、TwitterやFacebookなどのウェブサービスでは、ユーザーの投稿を取得したり、新たに投稿したりする機能をAPIとして提供しています。これにより、開発者はこれらのサービスが提供するAPIを使って自分のアプリケーションでユーザーの投稿を取得したり、投稿したりする機能を実装できます。
APIサーバーとは
改めてAPIの概要についておさらいします。ますAPIサーバーとは、APIを提供するサーバーのことを指します。APIサーバーは、クライアント(ユーザーのブラウザやアプリケーション)からのリクエストを受け取り、それに対するレスポンスを返します。このレスポンスは、データベースから取得したデータや計算結果など、リクエストに応じて変わります。
たとえば、天気予報のAPIサーバーは、特定の地域の天気情報をリクエストすると、その地域の天気予報を返します。また、SNSのAPIサーバーは、ユーザーの投稿をリクエストすると、そのユーザーの投稿データを返します。
APIサーバーは通常、データをJSON(JavaScript Object Notation)という形式で返します。JSONはデータ交換フォーマットの一つで、人間にも機械にも読みやすい形式でデータを表現します。
今回はこれをPYTHONのWebフレームワークであるFlaskを使って実装します
必要なもの
- Python(3.6以上推奨)
- Flask(PythonのWebフレームワーク)
Pythonがインストールされていない場合は、Pythonの公式サイトからダウンロードしてインストールしてください。
FlaskはPythonのパッケージマネージャーであるpipを使って簡単にインストールできます。
ターミナルを開き、以下のコマンドを入力します。
pip install flask
サンプルプログラム
それでは、簡単なAPIサーバーを作成してみましょう。以下に示すのは、Flaskを使って作成する最も基本的なAPIサーバーのプログラムです。
from flask import Flask, jsonify app = Flask(__name__) @app.route('/api', methods=['GET']) def hello_world(): return jsonify({'message': 'Hello, World'}) if __name__ == '__main__': app.run(debug=True)
このプログラムを保存し、Pythonで実行すると、APIサーバーが起動します。
ブラウザで http://localhost:5000/api
にアクセスすると、 { "message": "Hello, World" }
と表示されます。
プログラムの解説
- 最初に、Flaskとjsonifyをインポートします。
from flask import Flask, jsonify
- 次に、Flaskのアプリケーションインスタンスを作成します。
__name__
を引数として渡すことで、Flaskはテンプレートや静的ファイルを正しく読み込むことができます。
app = Flask(__name__)
@app.route
デコレータを使って、URLパスとHTTPメソッドを指定します。この例では、http://localhost:5000/api
のURLでGETメソッドのリクエストを受け付けるように設定しています。
- デコレータの下に定義した関数
hello_world()
がリクエストがあったときに実行されます。この関数はjsonify
を使ってJSON形式のレスポンスを返します。
def hello_world():
return jsonify({'message': 'Hello, World'})
- 最後に、
if __name__ == '__main__':
で条件分岐し、このスクリプトが直接実行されたときだけapp.run()
を呼び出します。これにより、APIサーバーが起動します。debug=True
を指定すると、デバッグモードでサーバーが起動します。
if __name__ == '__main__':
app.run(debug=True)
これで、Flaskを使ってAPIサーバーを作る方法を学ぶことができました。Flaskはシンプルで使いやすいフレームワークであり、これを基にさまざまなWebアプリケーションを作ることが可能です。ぜひ一度試してみてください
コメント
[…] 関連記事:【Python】Flaskのjsonifyで簡単なAPIサーバーを作成する […]
[…] 関連記事:【Python】Flaskのjsonifyで簡単なAPIサーバーを作成する […]
[…] 関連記事:【Python】Flaskのjsonifyで簡単なAPIサーバーを作成する […]