ruby-on-rails - 更改 Rails 中的 HTTP header

标签 ruby-on-rails ruby rest http-headers

我正在尝试与 Rails 中的 RESTful 服务进行通信。它可以返回不同格式的数据,json和xml。有没有一种特定的方法可以获取我想要的数据类型。

该服务提到需要在 HTTP header 中设置 ACCEPT。我不知道如何在 Ruby 中做到这一点。

目前我正在为 get 执行此操作

response = Net::HTTP.get( URI.parse( <url> ) )

我不知道如何更改此调用的 header 信息。任何帮助表示赞赏。谢谢。

最佳答案

我已经按照这种方式工作了

uri = URI( <domain>:<port>/<path> )
params = { <query_hash> }
headers = { <header_hash> }

http = Net::HTTP.new(uri.host, uri.port)
request = Net::HTTP::Get.new(uri.path)
request.set_form_data( params )
request = Net::HTTP::Get.new( uri.path+ '?' + request.body , headers)
response = http.request(request)

其中 query_hash 是哈希中的所有查询 ex: { "q"=> "cats"}header_hash 类似,例如:{ "ACCEPT"=> "text/json"}

关于ruby-on-rails - 更改 Rails 中的 HTTP header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2971760/

相关文章:

php - Paypal REST API 格式错误的 JSON 错误

ruby-on-rails - Ruby 未定义方法 `[]' 为 nil :NilClass (NoMethodError) error

ruby-on-rails - 如何使用嵌套 if 语句从 if 语句设置变量

ruby - 按名称查找进程 ID

java - 发送 @RequestPart List<String> 作为 Post 请求正文会出现内容类型错误

java - 在休息 Controller 中返回 google JsonElement

ruby-on-rails - 在 Heroku 上部署 Ruby on Rails 应用程序时出现 "postgresql gem is not loaded"错误

ruby-on-rails - 将变量插入数据属性

ruby - 如何使用带有特定标签的 parallel_tests

ruby - 乘号:* do?是什么意思