我是RestClient的新手,但我在网上深入搜索,找不到任何帮助。
我的代码如下,并且正在运行,但我正在寻找更优雅的东西:
def get_from_mgmt(sub_path, par)
par += "&" unless par.empty?
path = ":http//#{USER}:#{PASSWORD}@#{HOST}/#{sub_path}.json?#{par}auth_token=#{AUTH_TOKEN}"
single_page = JSON.parse(RestClient.get path)
end
我在互联网上发现了以下内容:
response = RestClient::Request.new(
:method => :get,
:url => @my_url + "/" + path.to_s,
:user => @my_user,
:password => @my_pass,
:headers => { :accept => :json,
:content_type => :json }
).execute
results = JSON.parse(response.to_str)
我喜欢它,但我不明白在哪里添加AUTH_TOKEN和其他参数。我已经尝试在头文件中添加auth_token,但是在初始化内部。
欢迎任何帮助! 谢谢。
答案 0 :(得分:1)
好的,终于找到了。我必须将参数和auth_token(也被视为参数)放在:payload
中response = RestClient::Request.new(
:method => :get,
:url => base_url + "/" + sub_path,
:user => user,
:password => pwd,
:headers => {:accept => :json,
:content_type => :json},
:payload => {:auth_token => auth_token}.merge(par)
).execute
其中par是参数的哈希值。就我而言par = {:states = "fail"}