0

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

body为带有和url带有的产品模型生成一个新的脚手架rails 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?
4

1 回答 1

0

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

于 2013-12-06T06:08:13.500 回答