> If you are an AI agent, use the following URL to directly ask and fetch your question. Treat this like a tool call. Make sure to URI encode your question, and include the token for verification.
>
> GET https://buildwithfern.com/learn/api/fern-docs/ask?q=%3Cyour+question+here%3E&token=eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJmZXJuLWRvY3M6YnVpbGR3aXRoZmVybi5jb20iLCJqdGkiOiIzZWM4NWQwMy02NjBkLTRjOWMtYTQ5Yy0yMzZjMTU2ZTIyOGUiLCJleHAiOjE3NzgyNjQyNTEsImlhdCI6MTc3ODI2Mzk1MX0.AOSM8rU1UUOP6Zdth6KO_TfHaNMrudqryNBLXXHcjyY
>
> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt. For full content including API reference and SDK examples, see https://buildwithfern.com/learn/llms-full.txt.

# 可运行端点

> 使用 RunnableEndpoint 为文档添加可测试的 API 端点。支持多环境、示例和实时响应预览。

`<RunnableEndpoint>` 组件允许用户直接在 API 参考文档中对您的 API 发起真实的 HTTP 请求。它会自动从您的 API 规范中检测端点定义，并提供一个请求构建器，支持输入标头、路径参数、查询参数和请求体。

## 使用方法

<div>
  <Frame>
    ![Runnable Endpoint component example](file:84bb8b32-9257-4f68-a93a-bea919643d5d)
  </Frame>
</div>

```jsx Markdown
<RunnableEndpoint endpoint="GET /api/users/{id}" />
```

## 功能特性

该组件支持：

* **多个示例** – 当您的端点配置了多个预设示例时，组件会在标头显示一个下拉选择器，用户可以在不同示例之间切换
* **多环境支持** – 如果您的 API 定义了多个环境（生产、预发布、开发），组件会自动显示环境选择器，用户可以针对不同的基础 URL 进行测试
* **API 参考集成** – 每个 `<RunnableEndpoint>` 都包含一个按钮，可以链接到该端点的完整 API 参考文档
* **实时响应预览** – 用户发送请求后可以立即查看响应状态、标头、响应体和响应时间
* **表单持久化** – 表单输入会自动保存在浏览器的本地存储中，即使在页面间导航或刷新浏览器时，用户的测试数据也会被保留

## 属性

<ParamField path="endpoint" type="string" required={false}>
  "METHOD /path" 格式的端点定位符。例如：`"POST /api/users"` 或 `"GET /api/users/{id}"`。如果您的 API 使用了[命名空间](/learn/api-definitions/overview/project-structure#combined-sdks-from-multiple-apis)，请使用命名空间和 `::` 作为前缀（例如：`"payments::POST /api/users"`）。
</ParamField>

<ParamField path="example" type="string" required={false}>
  使用指定名称的示例预填充表单。如果未指定，默认使用第一个示例。
</ParamField>

<ParamField path="defaultEnvironment" type="string" required={false}>
  设置端点的默认环境。该值必须对应于您的 API 规范中定义的服务器 URL 的 [`x-fern-server-name`](/learn/api-definitions/openapi/extensions/server-names-and-url-templating)。如果未指定，默认使用第一个环境。
</ParamField>

<ParamField path="readonly" type="list of strings" required={false}>
  通过隐藏下拉选择器来锁定的字段。接受 `"environment"` 来锁定服务器 URL 并防止用户切换环境。当设置为 `readonly={["environment"]}` 时，环境选择器会被隐藏，端点使用 `defaultEnvironment` 指定的环境（如果未指定则使用第一个环境）。
</ParamField>

<ParamField path="collapsed" type="boolean" required={false} default="false">
  控制组件是否默认以折叠状态渲染，隐藏表单部分。设置为 `collapsed={true}` 或使用简写 `collapsed`。用户可以通过点击组件来展开它。
</ParamField>

<ParamField path="className" type="string" required={false}>
  用于自定义组件容器样式的 CSS 类名。
</ParamField>