0
Rails默认脚手架包含允许您发布API的方法,允许用户通过HTML和JSON与相同的控制器进行交互。Rails 4 API版本建议练习
生成与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接口。
我的问题(S)是:
- 什么是推荐的做法版本是这样的?
- 这种暴露API的方法真的是预期的做法吗?
- 我发现的所有其他资源都建议使用单独的名称空间控制器来公开API操作,那么为什么要在默认设置中公开JSON和HTML?