# tag 修改器 (/docs/plugin-system/builtin-plugins/tag-modifier)



# tag 修改器 [#tag-修改器]

本插件用于修改来自 OpenAPI 文件中 API 的 tags。

## 基本使用 [#基本使用]

```javascript
import { defineConfig } from 'wormajs';
import { tagModifier } from 'wormajs/plugin';

export default defineConfig({
  generator: [
    {
      // ...
      plugins: [
        // 每个 API 都会调用回调函数，返回新的 tag
        // 如果不希望修改某个 tag，可以直接返回原 tag
        tagModifier(tag => tag.toUpperCase()),
      ],
    },
  ],
});
```

## 配置参数 [#配置参数]

```typescript
type ModifierHandler = (tag: string) => string;

function tagModifier(handler: ModifierHandler): ApiPlugin;
```

* `handler`：一个函数，接收当前 tag 作为参数，返回修改后的 tag。如果不希望修改，可以直接返回原 tag。

## 示例 [#示例]

### 统一添加前缀 [#统一添加前缀]

```javascript
tagModifier(tag => `api_${tag}`);
```

### 过滤特定 tags [#过滤特定-tags]

```javascript
tagModifier(tag => {
  if (tag.includes('user')) {
    return tag.replace('user', 'member');
  }
  return tag; // 其他 tags 保持不变
});
```

### 转换为驼峰命名 [#转换为驼峰命名]

```javascript
tagModifier(tag => {
  return tag
    .split('_')
    .map((part, index) => {
      if (index === 0) return part;
      return part.charAt(0).toUpperCase() + part.slice(1);
    })
    .join('');
});
```
