如何使用RestClient在post请求中发送数据

rbo*_*ing 7 ruby curl ruby-on-rails rest-client ruby-on-rails-4

我正在尝试使用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错误.我是以错误的方式发送数据吗?我应该使用除有效载荷之外的东西吗?

K M*_*lam 9

更改:

payload: {"param_1" => "1"})
Run Code Online (Sandbox Code Playgroud)

至:

payload: '{"param_1": "1"})'
Run Code Online (Sandbox Code Playgroud)

另外,指定headers.

所以,它变成:

RestClient::Request.execute(method: :post,
                            url: 'your_url',
                            user: 'API_KEY',
                            payload: '{"param_1": "1"}',
                            headers: {"Content-Type" => "application/json"}
                           )
Run Code Online (Sandbox Code Playgroud)