HTTParty 补丁 Sinatra API returns "invalid value"
HTTParty Patch Sinatra API returns "invalid value"
以下路线可以到达 api。
api returns "invalid value"。我假设这是一个数据类型问题。
API 文档:
value
string
Value of the zone setting
"off"
default value: off
valid values: on, off
API CURL 示例:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/development_mode" \
-H "X-Auth-Email: user@example.com" \
-H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
-H "Content-Type: application/json" \
--data '{"value":"off"}'
路线:
get '/devModeOff' do
headers = {
"X-Auth-Email" => '####',
"X-Auth-Key" => '####',
"Content-Type" => 'application/json'
}
options = '{value: 'off'}'
@result = HTTParty.patch(
'https://api.cloudflare.com/client/v4/zones/####/settings/development_mode',
:headers => headers,
:data => options
)
puts @result
redirect to ('/')
end
我是 ruby 的新手,我该如何解决这个问题?
您的 "Route" 代码是无效的 Ruby 代码,所以我完全不确定它是如何 运行 的。特别是,这一行有未闭合的引号:
options = '{value: 'off'}'
我不确定你打算在这里做什么——如果你试图制作一个 Ruby 哈希或一个 JSON 字符串——但你想要做的是:
headers = {
"X-Auth-Email" => "####",
"X-Auth-Key" => "####",
"Content-Type" => "application/json"
}
options = { value: "off" }
@result = HTTParty.patch(
"https://api.cloudflare.com/client/v4/zones/####/settings/development_mode",
headers: headers,
body: options.to_json
)
请注意,options
是一个哈希,它作为 :body
选项(不是 :data
)提供给 HTTParty.patch
。
以下路线可以到达 api。
api returns "invalid value"。我假设这是一个数据类型问题。 API 文档:
value
string
Value of the zone setting
"off"
default value: off
valid values: on, off
API CURL 示例:
curl -X PATCH "https://api.cloudflare.com/client/v4/zones/023e105f4ecef8ad9ca31a8372d0c353/settings/development_mode" \
-H "X-Auth-Email: user@example.com" \
-H "X-Auth-Key: c2547eb745079dac9320b638f5e225cf483cc5cfdda41" \
-H "Content-Type: application/json" \
--data '{"value":"off"}'
路线:
get '/devModeOff' do
headers = {
"X-Auth-Email" => '####',
"X-Auth-Key" => '####',
"Content-Type" => 'application/json'
}
options = '{value: 'off'}'
@result = HTTParty.patch(
'https://api.cloudflare.com/client/v4/zones/####/settings/development_mode',
:headers => headers,
:data => options
)
puts @result
redirect to ('/')
end
我是 ruby 的新手,我该如何解决这个问题?
您的 "Route" 代码是无效的 Ruby 代码,所以我完全不确定它是如何 运行 的。特别是,这一行有未闭合的引号:
options = '{value: 'off'}'
我不确定你打算在这里做什么——如果你试图制作一个 Ruby 哈希或一个 JSON 字符串——但你想要做的是:
headers = {
"X-Auth-Email" => "####",
"X-Auth-Key" => "####",
"Content-Type" => "application/json"
}
options = { value: "off" }
@result = HTTParty.patch(
"https://api.cloudflare.com/client/v4/zones/####/settings/development_mode",
headers: headers,
body: options.to_json
)
请注意,options
是一个哈希,它作为 :body
选项(不是 :data
)提供给 HTTParty.patch
。