From ff887481ee931675606734da1a53229302f1746c Mon Sep 17 00:00:00 2001 From: yanyongyu <42488585+yanyongyu@users.noreply.github.com> Date: Sat, 12 Feb 2022 14:07:42 +0800 Subject: [PATCH] :memo: add custom api doc --- website/docs/tutorial/add-custom-api.md | 42 +++++++++++++++++++++++++ website/docs/tutorial/deployment.md | 2 +- 2 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 website/docs/tutorial/add-custom-api.md diff --git a/website/docs/tutorial/add-custom-api.md b/website/docs/tutorial/add-custom-api.md new file mode 100644 index 00000000..b4cb8f74 --- /dev/null +++ b/website/docs/tutorial/add-custom-api.md @@ -0,0 +1,42 @@ +--- +sidebar_position: 10 +description: 扩展自定义服务端 API +--- + +# 添加自定义 API + +由于 NoneBot2 可以使用 `ReverseDriver` (即服务端框架)来进行驱动,因此可以将 NoneBot2 来作为一个服务端程序来提供 API 接口等功能。 + +在扩展 API 之前,你首先需要确保 NoneBot2 使用的是 `ReverseDriver`,详情可以参考 [选择驱动器](./choose-driver.md)。下面我们以 FastAPI 驱动器为例,来演示如何添加自定义 API。 + +## 获取 APP 实例 + +在定义 API 接口之前,需要先获取到驱动器框架的 APP 实例。 + +```python {4} +import nonebot +from fastapi import FastAPI + +app: FastAPI = nonebot.get_app() + +@app.get("/api") +async def custom_api(): + return {"message": "Hello, world!"} +``` + +## 添加接口 + +在获取到当前驱动器的 APP 实例后,即可以直接使用驱动器框架提供的方法来添加 API 接口。 + +在下面的代码中,我们添加了一个 `GET` 类型的 `/api` 接口,具体方法参考 [FastAPI 文档](https://fastapi.tiangolo.com/)。 + +```python {6-8} +import nonebot +from fastapi import FastAPI + +app: FastAPI = nonebot.get_app() + +@app.get("/api") +async def custom_api(): + return {"message": "Hello, world!"} +``` diff --git a/website/docs/tutorial/deployment.md b/website/docs/tutorial/deployment.md index edb172e1..21778506 100644 --- a/website/docs/tutorial/deployment.md +++ b/website/docs/tutorial/deployment.md @@ -1,5 +1,5 @@ --- -sidebar_position: 10 +sidebar_position: 11 description: 部署你的机器人 ---