ruby-on-rails - Rails中的RESTful内容协商

标签 ruby-on-rails json rest mootools content-negotiation

我正在寻找在Rails应用程序中的某些资源上实现内容协商的功能。我正在使用Mootools,可能会将XMLHTTPRequest接受的内容类型调整为“application/json”。

有什么方法可以在我的 Controller 中获取此信息并生成JSON响应而不是XHTML?

我试图避免做类似的事情:

http://site/resource/1?format=JSON

...因为它弄脏了我的网址,造成了一定程度的冗余,而且不够灵活。

谢谢!

最佳答案

您可以在 Controller 方法中使用 respond_to 节,如下所示:

respond_to do |format|
  format.html { # Generate an HTML response... }
  format.json { # Generate a JSON response... }
end

Rails根据客户端提交的HTTP Accept header 的值确定响应格式。

关于ruby-on-rails - Rails中的RESTful内容协商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1082513/

相关文章:

jquery - JSON 服务在失败/错误时应该返回什么

REST api 返回的 json 自动按升序排序

带有 ASP.NET WebAPI 服务器的 Android 应用程序 - 发送复杂类型

javascript - 为 Rails 生成的 XML API 构建 JavaScript 包装器?

ruby-on-rails - CarrierWave uploader 中的附加字段

css - Rails 中的@media CSS

ruby-on-rails - 如何在 Rails 中通过继承获得多态关系?

ruby-on-rails - 如何将本地数据库复制到heroku?

android - 具有字段更改的 REST Api JSON 响应

javascript - 使用 Javascript 按名称将多个元素添加到 JSON 对象