PythonのWEBフレームワーク「FastAPI」を初心者向けに簡単に解説
スポンサードリンク
おはようございます。Shotaです。
「FastAPIって何?」
「FastAPIは具体的にどのような場面で使われているかわからない....」
本記事にたどり着いた人の中には、このような疑問や悩みを感じている人が少なくないと思います。
そこで、今回はPythonのWEBフレームワークの一つであるFAST APIについて詳細に解説していきます。
FastAPIとは
FastAPIはFlaskやDjangoと同じように、PythonのWebフレームワークの一つです。
学習コストが低く、Pythonで書かれているので少ないコード量で様々な機能を実装できるのが最大の強みです。
FastAPIは、Pythonを使った機械学習サービスの提供のためによく利用されることがたくさんあります。機械学習の処理は、比較的時間や負荷のかかる処理が多いので、非同期処理による高速性を活かせるでしょう。
FastAPIは処理が高速で、GoやNode.jsに匹敵するパフォーマンスを発揮できるので大規模なサービスに十分耐えられるWeb APIを作成できます。
FastAPIとFlaskの比較
Flaskは2010年から開発されている、Pythonで作られた軽量のWEBフレームワークです。FastAPIはFlaskの影響を受けて開発されています。
Flaskも簡単にAPIを実装する上では非常に便利なフレームワークです。しかし、FastAPIはFlaskよりも高速で動作するAPIを開発できますので、Flaskにはない特徴を持っています。
両方とも軽量で学習コストが低いですが、高速なAPIを開発したいならFastAPIを利用したほうがいいでしょう。しかし、FastAPIはFlaskに比べて日本語の情報量が少ないのが欠点ですので、わからないことやエラーがある際に解決できないことがあるでしょう。
環境構築
まずは以下のコマンドを入力してください。
pip install fastapi uvicorn
VSCodeがインストールされていれば環境構築はこれで終了です。
環境構築がコマンド一つで済むのはFastAPIの魅力の一つですね。
「Hello world」の表示
環境構築が終了したら、次にmain.py
を作成し、以下のコードを作成してください。
from fastapi import FastAPI app = FastAPI() @app.get('/') def read_root(): return {'Hello': 'World'} @app.get('/items/{item_id}') def read_item(item_id: int, q: str = None): return {'item_id': item_id, 'q': q}
これを作成したら、あとは以下のコマンドを入力するだけです。
uvicorn main:app --reload
これを実行し、以下の画面が表示されたら成功です。
INFO: Will watch for changes in these directories: ['PATH'] INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) INFO: Started reloader process [16180] using statreload INFO: Started server process [4420] INFO: Waiting for application startup. INFO: Application startup complete.
http://127.0.0.1:8000/docs
にアクセスすると、自動対話型のAPIドキュメントを呼び出せます。
これで簡単にAPIを作成できるのです。たった10行で簡単なアプリを実装できるのがすごいですよね。
まとめ
今回はPythonのWEBフレームワークの一つ「FastAPI」について簡単に解説してみました。
今回の記事をきっかけに、FastAPIについて興味を持ってくれたら幸いです。
今回の記事はこれで終了です。
【参考サイト】