项目与 .restorm 文件
Restorm 项目存在于您自己的磁盘上。没有远程工作空间,也没有专有的同步机制: 您打开一个文件、保存它、提交它。
.restorm 文件
Section titled “.restorm 文件”Restorm 项目就是一个文件(文件 ▸ 新建,然后另存为),默认为 YAML。
另外还有两种序列化格式可选:json 和 json5。
项目里包含什么
Section titled “项目里包含什么”- 项目树:文件夹、环境文件夹、所有协议的请求、场景;
- 各个环境及其变量,包括子环境;
- 自定义值列表和导入得来的枚举;
- 标签及其颜色;
- 附加在环境文件夹上的 API 文档;
- 保存为“存放在项目中”的快速设置;
- 一个项目标识(
_projectUuid)和一个格式版本号。
项目里不包含什么
Section titled “项目里不包含什么”这是刻意为之的,目的是让文件可以放心共享:
| 数据 | 它存在哪里 |
|---|---|
| 密钥 | 项目旁边的一个 .env 密钥文件 —— 参阅密钥 |
| 响应历史 | 放在项目旁边的一个 <project>.responses.zip 归档 |
| “用户”级快速设置 | 您的本地设置 |
| 收藏 | 应用的本地存储,按项目标识建立索引 |
| workbench 布局 | 您的本地设置,按项目建立索引 |
| 工作区设置 | <project-folder>/.restorm/settings.json |
实际效果是:您可以提交一个 .restorm 而不会泄露任何令牌,
而您的同事也不会收到您的标签页布局。
为 git 而生的序列化
Section titled “为 git 而生的序列化”有两项保证,它们的存在完全是为了让版本管理真正可用:
- 规范化的键顺序。 身份类的键排在最前面(
id、name、key、type、folderType、method、url),其余的按序排列。而数组的顺序永远不会被改动: 那是您自己的顺序。 - 以稳定方式派生的标识符。 一个实体的标识是根据它的语义路径计算出来的, 而不是随机生成的。两个人在同一位置添加同一个请求,会得到同一个标识, 这样合并时就能正确地配对实体。
结果就是:打开一个项目再重新保存而不做任何修改,不会产生任何 diff。 参阅内置 Git。
文件 ▸ 最近的文件会列出最近打开的十个项目;已失效的路径会被自动移除。 同一份列表也用于填充欢迎界面。