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?