我一直在阅读有关版本 REST API 的所有方法。在几乎所有的实现中,控制器和视图都是版本化的,但模型不是。
以 rails 为例,控制器组织为:
# app/controllers/api/v1/events_controller.rb
class Api::V1::EventsController < Api::ApiController
end
相应的视图也放在不同的版本目录中。为什么我们不对模型进行版本化?是因为我们希望我们的模型(底层数据库模式)不会随着 API 的发展而改变吗?当我重命名数据库中的列名并且需要一个新模型来解决这个问题时会发生什么?