From f5bef1268a652faa875a4c9cbe3ddbe012b917ad Mon Sep 17 00:00:00 2001 From: heimoshuiyu Date: Mon, 10 Jul 2023 18:26:07 +0800 Subject: [PATCH] readme --- README.md | 96 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..1be6325 --- /dev/null +++ b/README.md @@ -0,0 +1,96 @@ +# API文档 + +本文档提供了使用该负载君恩和能够API的方法和端点的详细说明。 + +## 身份验证 + +### 身份验证中间件流程 + +1. 从请求头中获取`Authorization`字段的值。 +2. 检查`Authorization`字段的值是否以`"Bearer"`开头。 + - 如果不是,则返回错误信息:"authorization header should start with 'Bearer'"(HTTP状态码403)。 +3. 去除`Authorization`字段值开头的`"Bearer"`和前后的空格。 +4. 将剩余的值与预先设置的身份验证配置进行比较。 + - 如果不匹配,则返回错误信息:"wrong authorization header"(HTTP状态码403)。 +5. 如果身份验证通过,则返回`nil`。 + +## 上游管理 + +### 获取所有上游 + +- URL: `/admin/upstreams` +- 方法: GET +- 权限要求: 需要进行身份验证 +- 返回数据类型: JSON +- 请求示例: + ```bash + curl -X GET -H "Authorization: Bearer access_token" http://localhost:8080/admin/upstreams + ``` +- 返回示例: + ```json + [ + { + "ID": 1, + "SK": "sk_value", + "Endpoint": "endpoint_value" + }, + { + "ID": 2, + "SK": "sk_value", + "Endpoint": "endpoint_value" + } + ] + ``` + +### 创建新的上游 + +- URL: `/admin/upstreams` +- 方法: POST +- 权限要求: 需要进行身份验证 +- 请求数据类型: JSON +- 请求示例: + ```bash + curl -X POST -H "Authorization: Bearer access_token" -H "Content-Type: application/json" -d '{"SK": "sk_value", "Endpoint": "endpoint_value"}' http://localhost:8080/admin/upstreams + ``` +- 返回数据类型: JSON +- 返回示例: + ```json + { + "message": "success" + } + ``` + +### 删除指定ID的上游 + +- URL: `/admin/upstreams/:id` +- 方法: DELETE +- 权限要求: 需要进行身份验证 +- 返回数据类型: JSON +- 请求示例: + ```bash + curl -X DELETE -H "Authorization: Bearer access_token" http://localhost:8080/admin/upstreams/1 + ``` +- 返回示例: + ```json + { + "message": "success" + } + ``` + +### 更新指定ID的上游 + +- URL: `/admin/upstreams/:id` +- 方法: PUT +- 权限要求: 需要进行身份验证 +- 请求数据类型: JSON +- 请求示例: + ```bash + curl -X PUT -H "Authorization: Bearer access_token" -H "Content-Type: application/json" -d '{"SK": "sk_value", "Endpoint": "endpoint_value"}' http://localhost:8080/admin/upstreams/1 + ``` +- 返回数据类型: JSON +- 返回示例: + ```json + { + "message": "success" + } + ``` \ No newline at end of file