如何使用 RestClient 在 post 请求中发送数据
How to send data in a post request with RestClient
我正在尝试使用 RestClient Ruby gem 模拟 curl 请求,到目前为止,我在尝试发送有效负载时遇到了很多麻烦。我的卷曲请求看起来像这样
curl URL -X POST -u API_KEY -d '{"param_1": "1"}'
我一直在尝试使用类似这样的方法用 RestClient 复制它:
RestClient::Request.execute(method: :post, url: URL, user: API_KEY, payload: {"param_1" => "1"})
唉,我在执行此操作时不断收到 400 - Bad Requests 错误。我是否以错误的方式发送数据?我应该使用有效载荷以外的东西吗?
变化:
payload: {"param_1" => "1"})
收件人:
payload: '{"param_1": "1"})'
此外,请指定 headers
。
所以,它变成了:
RestClient::Request.execute(method: :post,
url: 'your_url',
user: 'API_KEY',
payload: '{"param_1": "1"}',
headers: {"Content-Type" => "application/json"}
)
原来我必须添加一个参数来指定我的数据是 JSON 格式。正确的答案是这样的:
RestClient::Request.execute(method: :post, url: URL, user: API_KEY, payload: '{"param_1": "1"}', headers: {"Content-Type" => "application/json"})
只需更改:
payload: {"param_1" => "1"}
收件人:
payload: {"param_1" => "1"}.to_json
所以,那么就变成了:
RestClient::Request.execute(method: :post,
url: 'your_url',
user: 'API_KEY',
payload: {"param_1" => "1"}.to_json,
headers: {"Content-Type" => "application/json"}
)
我正在尝试使用 RestClient Ruby gem 模拟 curl 请求,到目前为止,我在尝试发送有效负载时遇到了很多麻烦。我的卷曲请求看起来像这样
curl URL -X POST -u API_KEY -d '{"param_1": "1"}'
我一直在尝试使用类似这样的方法用 RestClient 复制它:
RestClient::Request.execute(method: :post, url: URL, user: API_KEY, payload: {"param_1" => "1"})
唉,我在执行此操作时不断收到 400 - Bad Requests 错误。我是否以错误的方式发送数据?我应该使用有效载荷以外的东西吗?
变化:
payload: {"param_1" => "1"})
收件人:
payload: '{"param_1": "1"})'
此外,请指定 headers
。
所以,它变成了:
RestClient::Request.execute(method: :post,
url: 'your_url',
user: 'API_KEY',
payload: '{"param_1": "1"}',
headers: {"Content-Type" => "application/json"}
)
原来我必须添加一个参数来指定我的数据是 JSON 格式。正确的答案是这样的:
RestClient::Request.execute(method: :post, url: URL, user: API_KEY, payload: '{"param_1": "1"}', headers: {"Content-Type" => "application/json"})
只需更改:
payload: {"param_1" => "1"}
收件人:
payload: {"param_1" => "1"}.to_json
所以,那么就变成了:
RestClient::Request.execute(method: :post,
url: 'your_url',
user: 'API_KEY',
payload: {"param_1" => "1"}.to_json,
headers: {"Content-Type" => "application/json"}
)