【问题标题】:Rails 4 API Versioning recommended practiceRails 4 API 版本控制推荐实践
【发布时间】:2013-10-26 21:37:28
【问题描述】:

Rails 默认脚手架包含允许您发布 API 的方法,允许用户通过 HTML 和 JSON 与相同的控制器进行交互。

使用bodyurlrails generate scaffold products body:string url:string 为产品模型生成一个新的脚手架将产生如下结果:

# GET /products
# GET /products.json
def index
  @products = Product.all
end

生成 HTML 视图和index.json.jbuilder:

json.array!(@products) do |product|
  json.extract! product, :body, :url
  json.url product_url(product, format: :json)
end

Rails 显然会自动生成所有代码,让我们将此模型作为 API 公开,并提供我们的标准 HTML 界面。

我的问题是:

  • 对这样的版本进行版本化的推荐做法是什么?
  • 这种公开 API 的方法真的是预期的做法吗?
  • 我发现的所有其他资源都建议使用单独的命名空间控制器来公开 API 操作,那么为什么要在默认设置中公开 JSON 和 HTML?

【问题讨论】:

    标签: ruby-on-rails json api rest ruby-on-rails-4


    【解决方案1】:

    在这里查看 railscast:http://railscasts.com/episodes/350-rest-api-versioning?view=asciicast。应该可以消除您的大部分疑虑。

    【讨论】:

      猜你喜欢
      • 2023-01-28
      • 2016-05-22
      • 2016-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多