我正在为我的应用程序创建一个简单的API。我已经创建了控制器并进行了所有处理。但是,正在返回视图。
如何将 JSON 文档返回给用户而不是视图?
另外,如果出现错误,我是否也应该返回 JSON 文档或...?
谢谢!
将其添加到控制器
respond_to :html, :json
(如果你只需要 json-API,请删除 HTML)。
在您的操作中,您可以简单地使用respond_with调用,例如:
respond_with(@posts = Post.all)
如果格式为 JSON,它将呈现 JSON 对象,如果请求 html,它将呈现您的 html 视图。如果您的路由是作为标准资源创建的,只需在 url 中添加 .json 后缀即可为您提供 JSON 结果,即。如果路由指定为:
resources :posts