カテゴリ: Flask 更新日: 2025/12/24

Flask-RESTfulでシンプルなAPIを作る手順まとめ!初心者向けの解説

Flask-RESTfulでシンプルなAPIを作る手順まとめ!初心者向けの解説
Flask-RESTfulでシンプルなAPIを作る手順まとめ!初心者向けの解説

先生と生徒の会話形式で理解しよう

生徒

「PythonでAPIって作れるんですか?」

先生

「はい、PythonのFlaskというフレームワークを使えば、簡単にWeb APIを作ることができますよ。」

生徒

「でも難しそうです…。プログラミング初心者でもできますか?」

先生

「もちろんです!今日は、Flaskの拡張機能『Flask-RESTful』を使って、シンプルなAPIを作る手順をわかりやすく説明しますね。」

1. APIとは何かを理解しよう

1. APIとは何かを理解しよう
1. APIとは何かを理解しよう

API(エーピーアイ)とは、「アプリケーション・プログラミング・インターフェース」の略です。簡単にいうと、パソコンやスマホのアプリ同士が「データをやり取りするための窓口」のようなものです。

たとえば、天気予報アプリがインターネットから天気情報を取得して表示するのは、天気情報のAPIを使っているからです。

2. Flask-RESTfulとは?

2. Flask-RESTfulとは?
2. Flask-RESTfulとは?

Flask-RESTful(フラスク・レストフル)は、PythonのWebフレームワーク「Flask」に機能を追加して、REST形式のAPIを簡単に作れるようにする便利な拡張機能です。

REST(レスト)とは、インターネット上でデータのやり取りをするための決まりごとのようなものです。Flask-RESTfulは、このRESTの仕組みに合わせてAPIを作るのを助けてくれます。

3. 環境を準備しよう(インストール手順)

3. 環境を準備しよう(インストール手順)
3. 環境を準備しよう(インストール手順)

まずは、FlaskとFlask-RESTfulをパソコンにインストールしましょう。以下のコマンドをターミナル(黒い画面)で入力します。


pip install Flask
pip install Flask-RESTful

「pip(ピップ)」は、Pythonの部品をインストールするための道具です。

4. シンプルなAPIを作ってみよう

4. シンプルなAPIを作ってみよう
4. シンプルなAPIを作ってみよう

それでは、実際にAPIを作ってみましょう。以下のコードは、「こんにちは」と返すだけのとてもシンプルなAPIです。


from flask import Flask
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

class Hello(Resource):
    def get(self):
        return {"message": "こんにちは!"}

api.add_resource(Hello, "/")

if __name__ == "__main__":
    app.run(debug=True)

このプログラムを保存して実行すると、http://127.0.0.1:5000/ にアクセスしたときに、次のような結果が表示されます。


    {
        "message": "こんにちは!"
    }

5. コードの中身をわかりやすく解説

5. コードの中身をわかりやすく解説
5. コードの中身をわかりやすく解説

from flask import Flask:Flaskというツールを使えるようにします。

from flask_restful import Resource, Api:Flask-RESTfulの部品を読み込みます。

class Hello(Resource)::Helloという名前のクラスを作っています。「クラス」は部品のようなもので、Resourceを元に作ります。

def get(self)::インターネットで「GET」という方法でアクセスされたときに、この中の処理が実行されます。

return {"message": "こんにちは!"}:APIの返事として、文字を返しています。

api.add_resource(Hello, "/"):このHelloクラスを、URL「/」(トップページ)に登録しています。

app.run(debug=True):この命令で、APIが動き始めます。「debug=True」にしておくと、エラーがあったときに詳しく表示されるので便利です。

6. APIを使うと何が便利?

6. APIを使うと何が便利?
6. APIを使うと何が便利?

APIがあると、他のアプリやサービスと情報を簡単にやりとりできるようになります。たとえば、スマートフォンアプリとパソコンで動いているWebシステムをつなぐとき、APIがその橋渡しをしてくれます。

また、Flask-RESTfulを使えば、Python初心者でもAPIを簡単に作れるため、今後の開発にもとても役立ちます。

7. 実際のAPI開発でよく使う用語

7. 実際のAPI開発でよく使う用語
7. 実際のAPI開発でよく使う用語

API開発では、よく次のような単語が出てきます。

  • GET(ゲット): 情報を「受け取る」ための方法
  • POST(ポスト): 新しい情報を「送る」ための方法
  • URL: Webページの住所のようなもの(例:http://example.com/)
  • レスポンス: APIからの「返事」
  • JSON(ジェイソン): データの形のひとつ。人間にも読みやすく、パソコンも理解しやすい形式。

まとめ

まとめ
まとめ

FlaskとFlask-RESTfulを使ったシンプルなAPI開発の流れを学ぶことで、Python初心者でも安心してWeb APIの基本を理解し、実際に動かすところまで進められるようになります。今回の記事では、APIとは何かという基礎からはじまり、Flask-RESTfulの役割、インストール方法、クラスベースでAPIを作成する方法、そして実際のコードの動きまでを丁寧に追いかけてきました。API開発という言葉だけを聞くと、とても専門的で難しいもののように感じられるかもしれませんが、Flask-RESTfulを使えば実際には非常にシンプルな構造でAPIを作り上げることができます。 とくに、APIがスマートフォンアプリやWebサービスの裏側でどのようにデータをやり取りしているのかを理解できるようになると、自分で作るアプリがどのように動けばよいのか、どの部分でAPIが必要なのかが自然と見えてくるようになります。たとえば、天気予報の取得、ユーザー情報の送受信、オンラインショップの商品一覧の提供など、多くの場面でAPIが使われていることに気づくと、Web開発全体の仕組みをより深く理解する助けとなります。 また、Flask-RESTfulの便利なポイントは、クラスベースでAPIの処理を整理できるため、コードの見通しが非常によくなるという点です。クラスごとにひとつのAPIの機能を持たせることで、後から機能を追加したり変更したりするときも迷いにくく、全体の構造がはっきりと見えます。初心者の段階で「構造化されたコード」に触れておくことは、将来的に複雑なアプリを作る際にも大きな助けになります。 以下では、今回学んだ内容を踏まえた上で使える、複数のAPIエンドポイントをまとめた発展的なサンプルコードを掲載しています。クラスを追加してapi.add_resourceでURLに紐づけるだけで機能が増えていく様子を実際に確認してみてください。

複数APIを扱えるサンプルプログラム


from flask import Flask
from flask_restful import Resource, Api

app = Flask(__name__)
api = Api(app)

class Hello(Resource):
    def get(self):
        return {"message": "こんにちは!APIの基本が身につきます!"}

class UserList(Resource):
    def get(self):
        return {"users": ["たろう", "はなこ", "じろう", "さくら"]}

class Status(Resource):
    def get(self):
        return {
            "status": "正常に動作中",
            "version": "1.0.0",
            "description": "これはAPIの状態を返すエンドポイントです"
        }

api.add_resource(Hello, "/")
api.add_resource(UserList, "/users")
api.add_resource(Status, "/status")

if __name__ == "__main__":
    app.run(debug=True)

このサンプルでは、トップページでメッセージを返すAPI、ユーザー一覧を返すAPI、現在の状態を返すAPIという、合計3つのAPIエンドポイントを構築しています。Flask-RESTfulを使うと、クラスをひとつ追加し、URLと結びつけるだけでAPIが増やせるため、複雑なアプリでも自然な流れで開発を進められます。これらのAPIを実際にブラウザでアクセスすることで、データがJSON形式で返ってくる仕組みを確認しながら、APIとWebブラウザの関係性を理解することができるでしょう。 APIという技術は、一度理解すると非常に応用範囲が広く、どのプログラミング学習の分野においても重要な基礎となります。Flask-RESTfulは初心者が学ぶうえで大きな助けになる拡張機能なので、今回の内容をもとに「POSTメソッドでデータを送信するAPI」や「PUTで更新するAPI」「DELETEで消すAPI」などにも挑戦してみると、自分が作れるアプリの幅が大きく広がります。 また、クラスベースでAPIを定義するという考え方は、Flask以外のDjango REST FrameworkやFastAPIなど、他のフレームワークを使う際にも共通して役立ちます。初心者のうちに理解しておくことで、次のステップに進みやすくなる大きなポイントです。今回の学びが、今後のプログラミング開発の基礎を固め、より自由なアプリケーション作りにつながる道しるべとなることでしょう。

先生と生徒の振り返り会話

生徒

「先生、Flask-RESTfulを使うとAPIが簡単に作れるって本当に感じました。クラスでまとめるだけでこんなに見やすいなんて驚きです!」

先生

「そうですね。API開発では“読みやすさ”や“管理のしやすさ”がとても大事です。Flask-RESTfulはその基礎を自然と身につけられるので、初心者にぴったりですよ。」

生徒

「APIが天気予報アプリやログインシステムなど、身の回りでたくさん使われている仕組みだと分かって少しワクワクしました。勉強を続けると、もっと複雑なアプリも作れそうですね!」

先生

「ええ、もちろんです。今回の内容が理解できていれば、POSTやPUTメソッドを使った応用的なAPIにも簡単に挑戦できますよ。少しずつステップアップしていきましょう。」

生徒

「はい!次はデータベースと組み合わせて、もっと実践的なAPIを作ってみたいです!」

先生

「とても良い目標ですね。今回の基礎をしっかり押さえておけば、どんなAPIにも応用できますよ。楽しみながら取り組んでいきましょう!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

PythonでAPIは作れますか?初心者でもできますか?

はい、PythonではFlaskというフレームワークを使えば簡単にAPIが作れます。特にFlask-RESTfulという拡張機能を使うことで、初心者でもシンプルなAPIをすぐに作成できます。
カテゴリの一覧へ
新着記事
New1
Flask
認証と認可の違いを整理しよう!Flaskで押さえるべき基礎概念
New2
Flask
Flaskで非同期フォーム送信(Ajax POST)を実装する方法を解説!初心者でもわかるステップ解説
New3
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
New4
Python
PythonでMySQLに接続する方法!pymysqlの基本的な使い方
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.3
Java&Spring記事人気No3
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
No.4
Java&Spring記事人気No4
Python
Pythonのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.5
Java&Spring記事人気No5
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.6
Java&Spring記事人気No6
Python
Pythonプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.7
Java&Spring記事人気No7
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.8
Java&Spring記事人気No8
Python
PythonでHello Worldを表示するには?初心者向けに最初の1行を実行してみよう