我正在将 swagger 规范文件导入邮递员以创建一个集合,此时,按预期工作,并且该集合与所有请求和子文件夹一起生成,很好!!但是当api更新时,我需要更新邮递员以根据新规范更新所有请求。我找不到“更新”之类的操作或其他操作。我正在尝试将新规范导入邮递员,他说:
集合 APIName 已存在。你想干什么?
Replace 或者 Import as copy
复制它是一个不可行的选项,然后我使用replace并更新现有的集合,但所有测试、参数、预请求脚本都被删除,我需要再次重新配置。
我遗漏了一些东西,是否存在一种从规范文件导入和更新现有集合的方法,而不会丢失现有的测试和配置?
提前致谢!
Postman 目前不支持此功能。关联
我从这个博客中学到了替代方案。简而言之:
collection_uid相应更新。Postman 更新集合 API 主体示例:
{
"collection":
<------- YOUR EXPORTED COLLECTION HERE --------->
}
Run Code Online (Sandbox Code Playgroud)
没有直接的解决方案。在相当长的一段时间内也可能不会出现这样的情况 - 开发人员表示,很难将集合中的旧 Postman 请求与传入 Swagger 文件(或任何其他更新源)生成的新请求关联起来。
不过,您可以在 Postman 之外完成此操作。Postman 集合实际上只是 JSON 数据,并且可以这样进行操作。
我为第 3 步创建了一个简单的助手。如果您只是向集合中添加更多内容(我的情况),但无法删除任何内容,那也没关系。如果有人有更通用的解决方案,请发布它- 我很乐意使用它。
function execute() {
collection = JSON.parse($(".collection").val());
swagger = JSON.parse($(".swagger").val());
result = JSON.stringify($.extend(true, {}, swagger, collection));
$(".result").val(result);
}Run Code Online (Sandbox Code Playgroud)
<html><body>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<br>Collection: <br> <textarea class="collection"></textarea>
<br>Swagger: <br> <textarea class="swagger"></textarea>
<br>Result: <br> <textarea class="result"></textarea>
<br>
<button onClick="execute()">EXECUTE</button>
</body></html>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4550 次 |
| 最近记录: |