NiceGUIでは、FastAPIのリクエストオブジェクトを取得できます。
実行環境
- Python 3.10
- NiceGUI 1.3.13
コード
from fastapi import Request
from nicegui import ui
@ui.page('/')
def main_page(request: Request):
# リクエストオブジェクトを使った処理
ui.label(f'Hello {request.client.host}!')
ui.run()
このコードのポイントは、引数にrequest: Request
とFastAPIの型注釈付きで指定している点です。ここは内部的にPydanticでチェックされているようで、引数名や型が違うと正常に動作しません。