我有一个 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.headers
和 resp.cookies
。
关于ruby - RestClient POST 不显示仅 header 响应的状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16695580/