Python

【Python】Flaskのjsonifyで簡単なAPIサーバーを作成する

この記事は約5分で読めます。

 

今日は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を使って簡単にインストールできます。

ターミナルを開き、以下のコマンドを入力します。

bash
pip install flask

サンプルプログラム

 

それでは、簡単なAPIサーバーを作成してみましょう。以下に示すのは、Flaskを使って作成する最も基本的なAPIサーバーのプログラムです。

python
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" } と表示されます。

 

プログラムの解説

 

  1. 最初に、Flaskとjsonifyをインポートします。
python
from flask import Flask, jsonify
  1. 次に、Flaskのアプリケーションインスタンスを作成します。__name__ を引数として渡すことで、Flaskはテンプレートや静的ファイルを正しく読み込むことができます。
python
app = Flask(__name__)
  1. @app.route デコレータを使って、URLパスとHTTPメソッドを指定します。この例では、http://localhost:5000/api のURLでGETメソッドのリクエストを受け付けるように設定しています。
python
@app.route('/api', methods=['GET'])
  1. デコレータの下に定義した関数 hello_world() がリクエストがあったときに実行されます。この関数は jsonify を使ってJSON形式のレスポンスを返します。
python
def hello_world():
return jsonify({'message': 'Hello, World'})
  1. 最後に、if __name__ == '__main__': で条件分岐し、このスクリプトが直接実行されたときだけ app.run() を呼び出します。これにより、APIサーバーが起動します。debug=True を指定すると、デバッグモードでサーバーが起動します。
python
if __name__ == '__main__':
app.run(debug=True)

 

これで、Flaskを使ってAPIサーバーを作る方法を学ぶことができました。Flaskはシンプルで使いやすいフレームワークであり、これを基にさまざまなWebアプリケーションを作ることが可能です。ぜひ一度試してみてください

 


プログラミング・スクレイピングツール作成の相談を受け付けています!

クラウドワークス・ココナラ・MENTAなどでPython・SQL・GASなどのプログラミングに関する相談やツール作成などを承っております!

過去の案件事例:

  • Twitter・インスタグラムの自動化ツール作成
  • ウェブサイトのスクレイピングサポート
  • ダッシュボード・サイト作成
  • データエンジニア転職相談

これまでの案件例を見る

キャリア相談もお気軽に!文系学部卒からエンジニア・データサイエンティストへの転職経験をもとに、未経験者がどう進むべきかのアドバイスを提供します。


スポンサーリンク
/* プログラミング速報関連記事一覧表示 */
ミナピピンの研究室

コメント

  1. […] 関連記事:【Python】Flaskのjsonifyで簡単なAPIサーバーを作成する […]

  2. […] 関連記事:【Python】Flaskのjsonifyで簡単なAPIサーバーを作成する […]

  3. […] 関連記事:【Python】Flaskのjsonifyで簡単なAPIサーバーを作成する […]

タイトルとURLをコピーしました