FlaskでAPIを作る基本!初心者向けに仕組みと特徴をやさしく解説
生徒
「Pythonでよく聞く『API』って何ですか?自分でも作れますか?」
先生
「APIというのは、アプリやシステム同士が情報をやりとりするための『窓口』のようなものです。Flaskという軽量なPythonのツールを使えば、初心者でもAPIを作れますよ!」
生徒
「えっ、本当に自分でもできるんですか?パソコンもあまり得意じゃないんですが…」
先生
「大丈夫。とてもわかりやすく説明していくので、一緒に学んでいきましょう!」
1. Flaskとは?Python初心者にやさしいWebアプリ開発ツール
Flask(フラスク)は、PythonでWebサイトやAPIを作るための「軽くてシンプルな道具」です。Flaskは難しい設定が少なく、初心者が最初に使うWebフレームワークとして人気があります。
Webフレームワークとは、簡単に言うと「アプリを作るための型(ひな形)」のようなもので、ゼロから全部を自分で書かなくても、便利な機能が最初から用意されているツールです。
2. APIって何?初心者にもわかるようにイメージしよう
API(エーピーアイ)とは、アプリケーション・プログラミング・インターフェースの略です。難しく聞こえるかもしれませんが、簡単に言うと「アプリ同士が会話するためのルール」です。
たとえば、天気予報のアプリが気温や天気を表示するとき、実際にはどこかの「天気情報API」からデータをもらっているのです。人間が見る画面ではなく、コンピューター同士がデータをやりとりするための裏方として使われます。
3. FlaskでAPIを作ると何ができるの?
FlaskでAPIを作ると、例えば次のようなことができるようになります。
- 自分で作ったPythonアプリに、別のアプリから情報を送ったり、もらったりできる
- LINEのようなメッセージアプリと連携できる
- 他の人があなたの作ったアプリと「話せる」ようになる
つまり、FlaskとAPIを使うことで、「あなたのアプリが世界とつながる窓口」を作ることができるのです!
4. まずはAPIの基本コードを見てみよう
では、実際にPythonでFlaskを使ってAPIを作る方法を見てみましょう。次のコードは、名前を送ると「こんにちは」と返してくれる簡単なAPIです。
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/hello", methods=["GET"])
def hello():
name = request.args.get("name", "ゲスト")
return jsonify({"message": f"こんにちは、{name}さん!"})
if __name__ == "__main__":
app.run(debug=True)
5. コードの説明をわかりやすく解説!
このコードで使っている主な部分を、初心者向けにていねいに説明します。
Flask:Flaskというアプリを作る道具です。@app.route:この関数が「どの道(ルート)で呼ばれるか」を指定しています。/helloにアクセスすると、この関数が実行されます。request.args.get:URLにくっついてくるデータ(たとえば?name=たろうなど)を取り出します。jsonify:結果をJSON(ジェイソン)という形式で返します。これはAPIでよく使われる「データの箱詰め形式」です。
6. 実行結果を見てみよう!
実際にこのアプリを起動して、http://localhost:5000/hello?name=たろう にアクセスすると、次のような結果が画面に表示されます。
{"message":"こんにちは、たろうさん!"}
もし名前を指定しなかった場合(http://localhost:5000/hello)、デフォルトで「ゲストさん」と表示されます。
7. なぜGETメソッド?他にもあるの?
今回のコードではmethods=["GET"]を使いました。「GET(ゲット)」とは、Webで「データを取りに行く」ための方法です。APIでは、他にもよく使う方法があります:
- GET:情報を取得する(見るだけ)
- POST:情報を送信する(新しくデータを作る)
- PUT:すでにある情報を更新する
- DELETE:情報を削除する
まずはGETとPOSTの2つを覚えておけば、初心者には十分です!
8. APIは目に見えないけど重要な役割がある
APIは、画面にボタンが出たり、文字が表示されたりするわけではありません。でも裏側では、他のアプリとデータをやりとりする大事な役目を担っています。
たとえば、LINEのチャットボットも、APIを通じて「こんにちは」って返したり、天気を調べたりしているのです。
9. APIを作るときの注意点
初心者がFlaskでAPIを作るときは、次のような点に注意しましょう。
- URLの綴りミスに注意(例:
/helloを/hellooと書いてしまう) - データの受け取り方法をちゃんと理解する(
GETとPOSTなど) - プログラムを変更したときは、再起動する必要がある
10. 初心者がFlaskとAPIを学ぶメリット
Flaskを使ってAPIを学ぶことには、次のようなメリットがあります。
- シンプルで覚えやすい
- 小さなアプリをすぐ試せる
- Pythonだけでアプリが作れる
難しそうに感じるAPIも、Flaskと一緒に学ぶとグッと身近になります。パソコンが得意でなくても、コツコツ続ければしっかり身につきますよ!
まとめ
Flaskを使ってAPIを作るという学習は、Pythonを学び始めたばかりの初心者にとって大きな一歩になります。APIという言葉は一見むずかしく感じられますが、「アプリとアプリが話すための窓口」というイメージを持つことで、理解しやすくなります。今回の記事では、FlaskでAPIを作るときに欠かせない基本の仕組み、APIがどのようにデータを受け取り、返し、他のサービスとつながるのかを、実際のコードを通して体験できました。とくにGETメソッドを使ってURLの中に情報を含める仕組みや、jsonifyによってJSON形式のデータを返す流れは、APIの基本となる部分であり、理解しておくと今後さまざまなアプリに応用できます。 また、APIは表からは見えない存在でありながら、さまざまなアプリの裏側で動いている大切な機能です。天気予報のアプリ、チャットボット、買い物アプリ、ゲームアプリのランキングなど、ほとんどのWebサービスがAPIと連携しています。今回の学習を通じて、「自分でもAPIが作れる」という実感を持つことで、Pythonによる開発がより身近に感じられたはずです。APIの基本を理解すると、GET以外にもPOST、PUT、DELETEなどのメソッドを使った本格的な処理にチャレンジしやすくなり、より複雑なアプリケーションの開発にもつながります。 以下では、今回学んだ内容をまとめつつ、より理解を深めるために軽く機能を追加したサンプルコードを紹介します。名前を受け取るだけでなく、POSTメソッドでメッセージを送信するAPIも追加しているので、GETとPOSTの違いを自然に体験できる内容になっています。URLで送る方法と、フォームデータのように送信する方法の両方を理解することで、APIの仕組みがより明確になり、自分自身のアプリに応用するための基礎力が身につきます。
学びを深めるサンプルAPIコード
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route("/hello", methods=["GET"])
def hello():
name = request.args.get("name", "ゲスト")
return jsonify({"message": f"こんにちは、{name}さん!"})
@app.route("/send", methods=["POST"])
def send_message():
data = request.get_json()
text = data.get("text", "空のメッセージ")
return jsonify({"received": f"メッセージ「{text}」を受け取りました"})
if __name__ == "__main__":
app.run(debug=True)
GETメソッドでは、URLに「?name=~」と書いてデータを送る仕組みでしたが、POSTメソッドではJSON形式のデータを送って処理を行います。このように、APIには用途に応じたさまざまな使い方があります。そしてFlaskは、その基本をとてもわかりやすく、短いコードで実現してくれる便利なフレームワークです。初心者の段階でAPIの動作を理解できると、外部サービスとの連携や、スマートフォンアプリの裏側で動く仕組みなど、多くの技術に応用が可能になります。 APIを正しく作るためには、URLの指定、メソッドの使い分け、JSONのデータ形式、そして返却値を書くときのルールを理解することが大切です。今回の記事で扱ったコードはすべてAPIの基本動作につながっており、これらを理解することで、アプリケーション開発の幅が大きく広がります。さらに、APIは見えない動作を扱う分、最初は戸惑うこともありますが、自分で動かして結果を確認することで、動きや仕組みがしっかり身についていきます。 これからFlaskでAPIを作ってみたいと思った方は、ぜひ今回の内容を参考に、少しずつ改良を加えながら自分だけのAPIを作ってみてください。例えば、「天気を返すAPI」「メモを保存するAPI」「計算をして返すAPI」など、簡単なアイデアから試してみるのもおすすめです。実際にコードを書いて形にすることで、APIが何をしているのかがもっと具体的に理解できるようになります。
生徒
「APIって聞くとむずかしそうでしたが、Flaskで作ってみると意外とシンプルなんですね。GETでデータを受け取れるのがおもしろかったです!」
先生
「そうですね。まずはURLにパラメータをつけて使うGETメソッドから慣れていくと理解しやすいです。今回は自分の名前を返すAPIを作れましたね。」
生徒
「POSTでJSONデータを送る方法も見てみたら、アプリ同士がやりとりしている感じが実感できました。これがAPIなんだってわかりました!」
先生
「その通りです。表に画面が出ないぶんイメージがつきにくいですが、実際には多くのアプリを支えている重要な仕組みです。理解しておくと今後役に立ちますよ。」
生徒
「もっといろんなAPIを作ってみたいです!天気とか、計算とか、いろいろ試せそうです。」
先生
「ぜひやってみましょう。今回の基本がしっかり理解できているので、応用もスムーズにできますよ。」