在你考虑这个问题是一个重复的问题之前,请再看一眼。当我在研究Web Api版本控制时,所有的关注点都集中在版本控制器和指定URL vs.标头版本的最佳实践上。
我试图弄清楚的是,在推出第二版时如何对输出响应进行版本控制,以便不会破坏第一版客户端。
假设我有一个持续变化的DAL,为一个网站套件提供数据,并提供给其他服务。我正在开发一个新的Web Api项目,应该具有符合版本化模式的响应。
我的问题是,在未经版本控制的DAL之前,Web Api项目实现版本控制的已证明的解决方案/最佳实践是什么?
我想出了一个解决方案,涉及到一个额外的版本化存储库层和一个额外的版本化模型层,因此版本化控制器使用版本化存储库,该存储库使用版本化模型。我已经设置了Automapper来映射未经版本控制的域模型(来自DAL)到版本化模型。但是,这种设置的固有缺陷是,我必须更新每个新版本的所有映射;这是一个呈指数增长的问题。
肯定有更好的方法。谢谢!
我试图弄清楚的是,在推出第二版时如何对输出响应进行版本控制,以便不会破坏第一版客户端。
假设我有一个持续变化的DAL,为一个网站套件提供数据,并提供给其他服务。我正在开发一个新的Web Api项目,应该具有符合版本化模式的响应。
我的问题是,在未经版本控制的DAL之前,Web Api项目实现版本控制的已证明的解决方案/最佳实践是什么?
我想出了一个解决方案,涉及到一个额外的版本化存储库层和一个额外的版本化模型层,因此版本化控制器使用版本化存储库,该存储库使用版本化模型。我已经设置了Automapper来映射未经版本控制的域模型(来自DAL)到版本化模型。但是,这种设置的固有缺陷是,我必须更新每个新版本的所有映射;这是一个呈指数增长的问题。
肯定有更好的方法。谢谢!