mirror of
				https://github.com/nonebot/nonebot2.git
				synced 2025-10-30 22:46:40 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			243 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			243 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| 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(<auto>)` {#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
 |