> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kasoftware.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API 管理

> 管理 API 端口的 API 发现、服务器响应、速率限制和 CORS。

可以在管理控制台中浏览 API 并管理对它们的访问。单击导航栏上的 **API**，查看访问 API 的文档和示例。使用端口中的设置来管理 API 的资源、用户和服务器设置。

本部分包含与管理 API 相关的主题。

## 发现

该应用程序的 API 基于 OpenAPI 规范，并且有完整的文档记录和可发现性。可以从标准 JavaScript、符合 OpenAPI 的应用程序或支持 OData 标准的任何应用程序访问 API。以下部分展示如何使用这些标准来发现 API。

### 服务文件

服务文档默认是 JSON 格式的所有 API 的简单列表。服务文档从服务根返回，所有请求都在服务根发出，包括元数据发现请求。以下是服务根的示例：

`http://MyServer:MyPort/connector/MyAPIPortName/api.rsc/`

要检索更详细的信息，请向元数据 URL 发出请求。

### 元数据 URL

应用程序通过 OData 元数据文档 URL 向 OData 使用者公开其 API 的功能。元数据文档以 XML 形式返回，包含列数据类型、资源的键和其他信息。可以通过将 `$metadata` 附加到服务根来访问完整的元数据资源，如下例所示：

`http://MyServer:MyPort/connector/MyAPIPortName/api.rsc/$metadata`

要访问资源的元数据，请将 `$metadata` 附加到资源 URL：

`http://MyServer:MyPort/connector/MyAPIPortName/api.rsc/Cars/$metadata`

### OpenAPI 定义

OpenAPI (Swagger) 定义是为通过应用程序显示的数据源生成的。

要获取 Swagger 定义，请将 `$swagger` 附加到服务根目录，如以下示例所示：

`http://MyServer:MyPort/connector/MyAPIPortName/api.rsc/$swagger`

## 服务器响应

以下是对 API 资源的典型服务器响应列表，以及何时会出现此类响应的描述。

| 响应                     | 描述                                                |
| ---------------------- | ------------------------------------------------- |
| 200 OK                 | 服务器处理了该请求，没有出现错误。                                 |
| 201 Created            | 请求成功，服务器创建了指定的资源。                                 |
| 204 No Content         | 如果请求的资源具有空值，或服务应用 `return=minimal` 首选项，则请求将返回此状态。 |
| 400 Bad Request        | 请求无法被理解或缺少必需的参数。                                  |
| 401 Unauthorized       | 用户未经身份验证或未获得访问此资源的授权。                             |
| 403 Forbidden          | 对此资源的访问被拒绝。                                       |
| 404 Not Found          | 该资源不存在。                                           |
| 405 Method Not Allowed | 此资源不允许指定的 HTTP 方法。                                |
| 429 Too Many Requests  | 用户在给定时间内发送了太多请求，或者超出了最大并发请求数。                     |
| 501 Not Implemented    | 服务器不支持完成请求所需的功能。当服务器无法识别请求方法并且无法支持任何资源时，将返回此响应。   |

## 速率限制

可以配置每个用户的使用限制和服务器范围的默认值。有关如何配置速率限制的详细信息，请参阅[默认速率限制（每用户）](./api-config#default-rate-limits-per-user)。

### 用户特定的限制

要配置单个用户的速率限制，请导航到**用户**选项卡，选择一个用户，然后单击**编辑**。可以配置以下选项：

* **权限**：选择允许用户访问的 HTTP 方法：GET、POST、PUT/PATCH/MERGE 或 DELETE。它们分别对应于 SELECT、INSERT、UPDATE 和 DELETE 语句。
* **最大请求数**：输入该用户每小时的最大请求数。值为 0 允许用户每小时无限制访问。
* **最大并发请求数**：输入可以同时发送的最大请求数。值为 0 允许用户无限制并发请求。

<Note>
  用户特定的速率限制会覆盖服务器默认值。用户设置之一的空值会使用服务器默认值。
</Note>

## 跨域资源共享

可以在**服务器**选项卡上配置跨域资源共享 (CORS)。CORS 允许基于浏览器的客户端连接到知行之桥。如果没有 CORS，基于浏览器的脚本将无法连接到知行之桥，因为浏览器强制执行同源策略。此策略限制客户端脚本和文档加载其来源之外的资源。脚本的来源由协议、主机和端口组成。

有关如何配置 CORS 的详细信息，请参阅 [CORS](./api-config#cross-origin-resource-sharing-cors)。
