mcpField
B
bruno-endpoint-creation

bruno-endpoint-creation

github.com/steveclarke测试与质量36156 次安装今天更新
代码仓库

关于 bruno-endpoint-creation

面向使用 REST 集合的开发者,介绍创建 Bruno `.bru` 端点文件的模式,涵盖环境变量、继承认证、请求脚本和端点文档。

主要功能

  1. 01组织 HTTP 端点文件结构
  2. 02配置集合变量与机密变量
  3. 03继承或覆盖身份验证
  4. 04编写请求前后脚本
  5. 05添加端点文档

适用场景

  1. 01为本地和预发布 API 创建端点
  2. 02复用集合级 Bearer 身份验证
  3. 03将响应提取的 ID 传给后续请求
  4. 04生成动态请求数据

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/steveclarke/dotfiles --skill bruno-endpoint-creation

安装后在 Claude Code 中输入/bruno-endpoint-creation确认已加载。

详细介绍

Bruno 端点创建

用于创建 .bru 端点文件的 Bruno 特定模式。假定你熟悉 REST 约定。

环境配置

开发(Local.bru):

vars {
  baseUrl: http://localhost:3001
  linkId:
  apiKey: dev_api_key_change_in_production
}

生产/预发布环境——敏感数据请使用 vars:secret:

vars {
  baseUrl: https://api.yourdomain.com
  linkId:
}
vars:secret [
  apiKey
]

集合级身份验证

在 collection.bru 中设置一次身份验证,然后让所有端点继承:

auth {
  mode: bearer
}

auth:bearer {
  token: {{apiKey}}
}

各个端点通过 auth: inherit 继承:

post {
  url: {{baseUrl}}/api/v1/resources
  body: json
  auth: inherit
}

仅当身份验证与集合不同时,才按端点覆盖。

请求结构

meta {
  name: "Create Resource"
  type: http
  seq: 1
}

post {
  url: {{baseUrl}}/api/v1/resources
  body: json
  auth: inherit
}

body:json {
  {
    "resource": {
      "field1": "value1",
      "field2": "value2"
    }
  }
}

params:path {
  id: {{resourceId}}
}

params:query {
  page: 1
  limit: 20
  sort: created_at
  order: desc
}

脚本 API

响应后——提取数据供后续请求使用:

script:post-response {
  if (res.status === 201 && res.body && res.body.id) {
    bru.setVar("resourceId", res.body.id);
  }
}

请求前——生成动态数据:

script:pre-request {
  const timestamp = Date.now();
  bru.setVar("uniqueEmail", `test-${timestamp}@example.com`);
}

主要区别:

  • bru.setVar() — 运行时变量(临时,仅在当前集合运行期间有效)
  • bru.setEnvVar() — 环境变量(持久保存,可在 Environment 选项卡中查看)

对于从测试运行中提取的 ID 等临时值,请使用 bru.setVar()。

文档块

docs {
  Create a new resource in the system.

  **Required Fields:**
  - field1: Description
  - field2: Description

  **Optional Fields:**
  - optional_field: Description
}

集合文件夹结构

Bruno Collection/
├── Environments/
│   ├── Local.bru
│   ├── Staging.bru
│   └── Production.bru
├── Authentication/
│   ├── Login.bru
│   └── Refresh Token.bru
├── Resources/
│   ├── List Resources.bru
│   ├── Get Resource.bru
│   ├── Create Resource.bru
│   ├── Update Resource.bru
│   └── Delete Resource.bru
└── Health/
    └── Health Check.bru

评论

支持 Markdown