--- mdx: format: md sidebar_position: 1 description: nonebot.drivers.fastapi 模块 --- # nonebot.drivers.fastapi [FastAPI](https://fastapi.tiangolo.com/) 驱动适配 ```bash nb driver install fastapi # 或者 pip install nonebot2[fastapi] ``` :::tip 提示 本驱动仅支持服务端连接 ::: ## _class_ `Config()` {#Config} - **说明:** FastAPI 驱动框架设置,详情参考 FastAPI 文档 - **参数** auto ### _class-var_ `fastapi_openapi_url` {#Config-fastapi-openapi-url} - **类型:** str | None - **说明:** `openapi.json` 地址,默认为 `None` 即关闭 ### _class-var_ `fastapi_docs_url` {#Config-fastapi-docs-url} - **类型:** str | None - **说明:** `swagger` 地址,默认为 `None` 即关闭 ### _class-var_ `fastapi_redoc_url` {#Config-fastapi-redoc-url} - **类型:** str | None - **说明:** `redoc` 地址,默认为 `None` 即关闭 ### _class-var_ `fastapi_include_adapter_schema` {#Config-fastapi-include-adapter-schema} - **类型:** bool - **说明:** 是否包含适配器路由的 schema,默认为 `True` ### _class-var_ `fastapi_reload` {#Config-fastapi-reload} - **类型:** bool - **说明:** 开启/关闭冷重载 ### _class-var_ `fastapi_reload_dirs` {#Config-fastapi-reload-dirs} - **类型:** list[str] | None - **说明:** 重载监控文件夹列表,默认为 uvicorn 默认值 ### _class-var_ `fastapi_reload_delay` {#Config-fastapi-reload-delay} - **类型:** float - **说明:** 重载延迟,默认为 uvicorn 默认值 ### _class-var_ `fastapi_reload_includes` {#Config-fastapi-reload-includes} - **类型:** list[str] | None - **说明:** 要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值 ### _class-var_ `fastapi_reload_excludes` {#Config-fastapi-reload-excludes} - **类型:** list[str] | None - **说明:** 不要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值 ### _class-var_ `fastapi_extra` {#Config-fastapi-extra} - **类型:** dict[str, Any] - **说明:** 传递给 `FastAPI` 的其他参数。 ## _class_ `Driver(env, config)` {#Driver} - **说明:** FastAPI 驱动框架。 - **参数** - `env` ([Env](../config.md#Env)) - `config` (NoneBotConfig) ### _property_ `type` {#Driver-type} - **类型:** str - **说明:** 驱动名称: `fastapi` ### _property_ `server_app` {#Driver-server-app} - **类型:** FastAPI - **说明:** `FastAPI APP` 对象 ### _property_ `asgi` {#Driver-asgi} - **类型:** FastAPI - **说明:** `FastAPI APP` 对象 ### _property_ `logger` {#Driver-logger} - **类型:** logging.Logger - **说明:** fastapi 使用的 logger ### _method_ `setup_http_server(setup)` {#Driver-setup-http-server} - **参数** - `setup` ([HTTPServerSetup](index.md#HTTPServerSetup)) - **返回** - untyped ### _method_ `setup_websocket_server(setup)` {#Driver-setup-websocket-server} - **参数** - `setup` ([WebSocketServerSetup](index.md#WebSocketServerSetup)) - **返回** - None ### _method_ `run(host=None, port=None, *args, app=None, **kwargs)` {#Driver-run} - **说明:** 使用 `uvicorn` 启动 FastAPI - **参数** - `host` (str | None) - `port` (int | None) - `*args` - `app` (str | None) - `**kwargs` - **返回** - untyped ## _class_ `FastAPIWebSocket(*, request, websocket)` {#FastAPIWebSocket} - **说明:** FastAPI WebSocket Wrapper - **参数** - `request` (BaseRequest) - `websocket` ([WebSocket](index.md#WebSocket)) ### _async method_ `accept()` {#FastAPIWebSocket-accept} - **参数** empty - **返回** - None ### _async method_ `close(code=status.WS_1000_NORMAL_CLOSURE, reason="")` {#FastAPIWebSocket-close} - **参数** - `code` (int) - `reason` (str) - **返回** - None ### _async method_ `receive()` {#FastAPIWebSocket-receive} - **参数** empty - **返回** - str | bytes ### _async method_ `receive_text()` {#FastAPIWebSocket-receive-text} - **参数** empty - **返回** - str ### _async method_ `receive_bytes()` {#FastAPIWebSocket-receive-bytes} - **参数** empty - **返回** - bytes ### _async method_ `send_text(data)` {#FastAPIWebSocket-send-text} - **参数** - `data` (str) - **返回** - None ### _async method_ `send_bytes(data)` {#FastAPIWebSocket-send-bytes} - **参数** - `data` (bytes) - **返回** - None