可以使用Postman的预置脚本来计算Swagger API-docs的接口数据。以下是一个示例脚本,它可以计算每个API端点的请求和响应大小:
// 获取Swagger文档URL
const swaggerUrl = pm.environment.get('swaggerUrl');
// 从Swagger URL获取规范对象
pm.sendRequest(swaggerUrl, (err, response) => {
if (err) {
console.error(err);
return;
}
// 将响应JSON解析为Javascript对象
const swaggerSpec = JSON.parse(response.body);
// 遍历每个路径(即API端点)
Object.keys(swaggerSpec.paths).forEach(pathName => {
const pathObj = swaggerSpec.paths[pathName];
// 遍历每种HTTP方法(GET、POST等)
Object.keys(pathObj).forEach(methodName => {
const methodObj = pathObj[methodName];
// 计算请求大小
const requestSize = JSON.stringify(methodObj.parameters || {}).length;
// 计算响应大小
let responseSize = 'unknown';
if (methodObj.responses && methodObj.responses['200'] && methodObj.responses['200'].schema) {
responseSize = JSON.stringify(methodObj.responses['200'].schema).length;
}
console.log(`Endpoint: ${methodName.toUpperCase()} ${pathName}, Request size: ${requestSize} bytes, Response size: ${responseSize} bytes`);
});
});
});
在该脚本中,我们首先获取了存储在环境变量中的Swagger文档URL。然后,我们使用pm.sendRequest()函数发送一个请求来获取Swagger文档规范。一旦我们获得了Swagger规范,我们遍历每个路径和HTTP方法,并计算请求和响应的大小。最后,我们将结果输出到控制台。
要在Postman中运行此脚本,请按照以下步骤操作:
- 在Postman的环境中设置
swaggerUrl变量,并将其设置为包含Swagger文档URL的字符串。 - 打开一个集合并选择其中一个请求。
- 点击“Tests”选项卡,然后将上述代码复制粘贴到预置脚本区域中。
- 发送该请求并查看控制台输出以获取每个API端点的请求和响应大小。




