ruby - RestClient POST 不显示仅 header 响应的状态

标签 ruby ruby-on-rails-3 rest-client

我有一个 Rails 操作,它以 head :ok 响应,而不是渲染任何内容。我使用 RestClient 调用此操作,如下所示:

resp = RestClient.post("#{api_server_url}/action/path", {:param_1 => thing, :param_2 => other_thing}, :authorization => auth)

Rails 服务器日志显示这按预期工作:

Completed 200 OK in 78ms (ActiveRecord: 21.3ms)

但是,resp 的结果值是字符串 "",而不是我可以检查的对象(例如,查看其状态代码是什么)。

我尝试更改操作以使用 head :created 代替,只是为了看看它是否产生不同的结果,但结果是相同的:""

如何获取此响应的状态代码?

最佳答案

RestClient.post 返回继承自 String 类的 RestClient::Response 类的实例。

您仍然可以通过调用方法代码resp.code来检查返回代码。其他方法例如 resp.headersresp.cookies

关于ruby - RestClient POST 不显示仅 header 响应的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16695580/

相关文章:

ruby-on-rails - respond_with 无法在 ruby​​ on rails 中工作。为什么?

ruby-on-rails - Rails.application.routes.url_helpers 使 Heroku 应用程序崩溃

html - 遍历所有 <dd> 标签并通过 Mechanize/Nokogiri 提取特定信息

ruby-on-rails - Rails acts_as_taggable_on 实现

ruby - 如何使用 RestClient 进行基本身份验证?

ruby - Ruby 中的内联注释

ruby-on-rails - capybara :未定义的方法 'visit'

ruby-on-rails - rails : deleting a remote file

java - 使用带有数据和 header 的 ApacheHttpClient 进行 REST 调用

java - 客户端请求的 RestEasy Http header