我正在研究 Laravel REST,但也许这并不仅限于 Laravel。
通读文章和问题,例如 Laravel RESTful API versioning Design或 How to organize different versioned REST API controllers in Laravel 4? (以及很多其他人)你会明白在构建 API 时对 API 进行版本控制非常重要。
但在我看来,使用文件夹分离来管理不同版本的 API 可能会很麻烦
/app
/controllers
/Api
/v1
/UserController.php
/v2
/UserController.php
展望不久的将来,我可以轻松想象 v1 有 30 个文件,v2 有 40 个文件,例如大约 20~25 个文件可能相同。这不是带来更多麻烦而不是解决方案吗?
最佳答案
如果变化足够大,他们可能需要一个新的 Controller 。但如果没有,您可以将版本号传递给 Controller 实例,然后路由到同一个 Controller 。然后使用该数字来改变行为。
关于api - 版本控制 API 时如何管理代码重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36756732/