api - 版本控制 API 时如何管理代码重复?

标签 api rest laravel-5 version

我正在研究 Laravel REST,但也许这并不仅限于 Laravel。

通读文章和问题,例如 Laravel RESTful API versioning DesignHow 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/

相关文章:

python - 如何从 matplotlib 图中获取行数和列数?

c - cudaSetDevice() 编号在进程间是否一致?

rest - 如何在 GraphQL 中对 "index"列表与 "show"详细信息进行建模?

json - ConvertFrom-Json : Cannot convert the JSON string because a dictionary that was converted from the string contains the duplicated keys

authentication - Laravel Auth::login($user) 无法正常工作

python - 努力通过 Python 理解 Guardian API

Ruby Hash.new 与哈希文字

java - 特殊字符的阿尔戈利亚转义字符

php - 拉维尔 5 : redirect to an external link outside of localhost/server

laravel - 访问AppServiceProvider中的用户?