RESTClient不返回服务器响应消息

时间:2015-05-06 12:15:47

标签: ruby-on-rails ruby json proxy rest-client

我正在开发一个ruby项目,该项目涉及使用RESTClient来访问API。 API为特定结果返回400 HTTP状态代码,并附带响应消息(A JSON响应)。

但是当我检查我的电话响应时:

response = RESTClient.post(...) {
    logger.info response.to_s
}

我正在获取Proxy Server 400页面html:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <html><head>
   <title>400 Bad Request</title>
 </head><body>
 <h1>Bad Request</h1>
  <p>Your browser sent a request that this server could not understand.<br />
  </p>
 </body></html>

这不是我所期待的。

请问可能出错?

此外,DEV和TEST环境的行为也不同。在DEV环境中,它在测试时给出了JSON,我得到了这个问题。

感谢。

1 个答案:

答案 0 :(得分:0)

如果这是您的API,您可以以JSON格式启用任何请求的响应。只需将其添加到您的基本API控制器:

  before_filter :default_request_format

  private

  def default_request_format
    request.format = :json
  end

如果这不是您的API,您应该使用JSON内容类型指定Accept标头。