> This page is for API 定义.

> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

# 自定义 SDK 方法名称

> 使用 `x-fern-sdk-method-name` 和 `x-fern-sdk-group-name` 来精细调整 SDK 命名。

使用 `x-fern-sdk-group-name` 和 `x-fern-sdk-method-name` 扩展来控制端点在您的 [SDK](/learn/zh/sdks/overview/introduction) 和 [CLI](/learn/zh/cli-generator/get-started/openapi-extensions) 中的组织方式。

> **Fern 会自动解析 \`operationId\`**
>
> 如果没有扩展存在，Fern 使用您的 operation ID 来生成 SDK 方法名称。将 operation ID 格式化为 `{tag_name}_{operation_name}`（例如：`users_get`）以自动生成类似 `users.get()` 的方法。如果 operation ID 不以 tag 开头，Fern 会直接将其用作方法名称。

在下面的示例中，Fern 将为 `POST /users` 端点生成一个名为 `client.users.create()` 的方法。

**`openapi.yaml`**

```yaml title="openapi.yaml" {4-5}
paths:
  /users:
    post:
      x-fern-sdk-group-name: users
      x-fern-sdk-method-name: create
```

### 顶级方法

如果您省略 `x-fern-sdk-group-name` 扩展，生成的 SDK 方法将位于客户端的根目录，而不是嵌套在资源组下。在下面的示例中，Fern 将生成一个名为 `client.send()` 的方法：

**`openapi.yaml`**

```yaml title="openapi.yaml" {4}
paths:
  /send:
    post:
      x-fern-sdk-method-name: send
```

### 多级嵌套

> **Note**
>
> 查看 merge.dev 如何使用嵌套组的示例[这里](https://github.com/merge-api/merge-node-client?tab=readme-ov-file#create-link-token)。

如果您添加多个 `x-fern-sdk-group-name` 扩展，那么生成的 SDK 将嵌套组名称。生成的 SDK 方法保留组名称的顺序。

在下面的示例中，Fern 将生成一个名为 `client.users.notifications.send()` 的方法：

**`openapi.yaml`**

```yaml title="openapi.yaml"
paths:
  /users/notifications:
    post:
      x-fern-sdk-group-name:
        - users
        - notifications
      x-fern-sdk-method-name: send
```