【FastAPI】routerでエンドポイントを登録する【入門】
当ページのリンクには広告が含まれています。
FastAPI
でファイルを分割してエンドポイントを登録する方法をご紹介いたします。
from fastapi import FastAPI
app = FastAPI()
@app.get('/hello')
def index():
return 'Hello World'
main.py
にはあらかじめ上記コードを作成しております。
FastAPIの基礎についての記事まとめ
目次
routerの作成
まずはエンドポイント作成用のrouter
ディレクトリを作成し、中にarticles.py
を作成します。
routerのインスタンス化
router
のインスタンスを作成します。
from fastapi import APIRouter
router = APIRouter(
prefix='/article',
tags=['article']
)
prefix
は、これから作成するエンドポイントの頭のURL
を表しています。
tags
はhttp;//127.0.0.1/docs
の分類として用いられます。
【FastAPI】APIドキュメントに説明を追加する【入門】
FastAPIにはとても便利な自動生成されるAPIドキュメントがあります。 このドキュメントはタグで分類したり、任意の説明文章を追加することが簡単にできますのでご紹介い…
エンドポイントの作成
ここでは簡単なエンドポイントを二つ作成してみます。
【FastAPI】パラメータ・リクエストボディの使い方【入門】
FastAPIでは、簡単に受け取るパラメーターやリクエストボディの記述が可能です。 今回は、パス・クエリパラメーターやリクエストボディの記述方法をご紹介いたします。 …
- 全ての記事を取得できる
/article/all
- 任意のIDの記事を取得できる
/article/{id}
from fastapi import APIRouter
router = APIRouter(
prefix='/article',
tags=['article']
)
@router.get('/all')
def get_all_articles():
return {'message': f'All articles'}
@router.get('/{id}')
def get_article(id: int):
return {'message': f'Blog is {id}'}
これらを作成しました。prefix
で/article
としているので各エンドポイントには追記不要です。
しかし、このままではドキュメントを確認してもarticle
エンドポイントは表示されていません。インスタンスに登録する必要があります。
main.pyへ登録
main.py
にあるapp
インスタンスにrouter
を含めます。
router
からarticle
をインポートして、app.include_router(articles.router)
で登録しています。
from fastapi import FastAPI
from router import articles
app = FastAPI()
app.include_router(articles.router)
@app.get('/hello')
def index():
return 'Hello World'
これでドキュメントを確認して登録されていれば完了です。
FastAPIの基礎についての記事まとめ
コメント