ruby-on-rails - 使用 gzip 压缩的 rails json 响应

标签 ruby-on-rails json ruby-on-rails-3 gzip rack

我有一个用 rails 编写的 api,它在每个请求上都会以 JSON 响应进行响应。

响应可能很大,所以我需要使用 gzip 压缩 JSON 响应。

想知道如何在 Rails Controller 中执行此操作?

我已经添加了行

use Rack::Deflater

在 config.ru 中

我是否也应该更改呈现 JSON 的行中的某些内容?

render :json => response.to_json()

另外,我如何检查响应是否为 gzip 格式..?

我从终端做了一个 curl 请求,我只看到普通的纯 JSON。

最佳答案

我的帖子Content Compression with Rack::Deflater描述了几种集成 Rack::Deflater 的方法。最简单的方法是更新 config/application.rb :

module YourApp
  class Application < Rails::Application
    config.middleware.use Rack::Deflater
  end
end

如果客户端明确表示可以处理,您将使用 deflate/gzip 自动压缩所有 Controller 响应。

关于ruby-on-rails - 使用 gzip 压缩的 rails json 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16766859/

相关文章:

html - 主页宽度 100% 宽度和其他(输入表单)窄宽度的 Rails 布局

ruby-on-rails - Puma 发现了这个错误 : Invalid option key: raise_on_unfiltered_parameters

ruby-on-rails - Rails - 多对多过滤

python - 在 python 中制作 JSON 对象

mysql - 有没有更好的方法在 ActiveRecord 中从下到上连接这些表?

Jquery Rails 3...表单提交两次...删除两次...帮助

javascript - Eval() = 意外 token : error

javascript - JSON 对象中的数字类型

ruby-on-rails-3 - 带有 mongoid 的 Rails 3 中的嵌套属性问题(不保存嵌套对象)

ruby-on-rails - 在其字段旁边显示验证错误