关于 bruno-endpoint-creation
面向使用 REST 集合的开发者,介绍创建 Bruno `.bru` 端点文件的模式,涵盖环境变量、继承认证、请求脚本和端点文档。
主要功能
- 01组织 HTTP 端点文件结构
- 02配置集合变量与机密变量
- 03继承或覆盖身份验证
- 04编写请求前后脚本
- 05添加端点文档
适用场景
- 01为本地和预发布 API 创建端点
- 02复用集合级 Bearer 身份验证
- 03将响应提取的 ID 传给后续请求
- 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