【发布时间】:2019-01-30 11:15:10
【问题描述】:
我使用 Ruby 为 PUT 请求创建了一个主体。当我打印出身体时,我没有看到任何问题。但是当我尝试从实际的 PUT 请求中打印出正文时,我开始收到错误。
详细来说,这是我的代码:
@data={param1: "nameserver",
param2: {code: "XYZ", name: "NAME", start: "2017"}}
puts "data = #{@data} " #This works fine
@putResponse = HTTParty.put(base_url,
:body => @data.to_json,
:headers => header)
puts "putResponse.body is #{@putResponse.body}" #This is where I get the error
如您所见,puts "data = #{@data} " 行运行良好。打印出来
data = {:param1=>"nameserver", :param2=>{:code=>"XYZ", :name=>"NAME", :start=>"2017"}}
但是 puts puts "putResponse.body is #{@putResponse.body}" 行不行。这是打印出来的:
putResponse.body is {"errors":[{"message":"The specified resource does not exist."}],"error_report_id":443}
那么这里的问题是什么? (我正在使用 HTTParty 发出我的 PUT 请求)
编辑:
这是我获得主机和标头的方式:
config = JSON.parse(File.read('config.json'))
puts "config: #{config}"
access_token = config['canvas']['access_token']
puts "access_token: #{access_token}"
host = config['canvas']['host']
puts "host: #{host}"
base_url = 'http://#{host}/api/v1/users/self/custom_data/program_of_study'
puts "base_url: #{base_url}"
header = {'Authorization': 'Bearer ' "#{$access_token}", "Content-Type" => 'application/json', 'Accept' => 'application/json'}
【问题讨论】:
标签: ruby rest sinatra httparty