使用 restify 进行版本控制的最佳文件夹结构

Best folder structure for versioning with restify

我正在制作 Restful API,我在带有 Restify 的 Nodejs 中有以下文件夹结构:

.
├── controllers
│   └── example.js
├── models
├── routes
│   └── example.js
└── server.js

处理不同版本的最佳解决方案是什么,我在两个方面考虑:

1) 基于文件夹结构

.
├── controllers
│   ├── v1.0
│   │   └── example.js
│   └── v2.0
│       └── example.js
├── models
├── routes
│   ├── v1.0
│   │   └── example.js
│   └── v2.0
│       └── example.js
└── server.js

但是,使用这个解决方案,我必须复制所有控制器和路由,如果控制器没有改变,我必须在正确的版本文件夹中有一个副本

2) 在控制器中编写每个功能的不同版本并发送请求版本以获得正确的功能。

希望您能理解

我建议解决方案 2。它还建议 here [Restify Documentation]。版本化路由的目标之一是避免必须以这种方式组织代码。

这样,可以更轻松地重用一些代码。