gpt4 book ai didi

ruby-on-rails - 在 Rails 中发送 POST 请求

转载 作者:行者123 更新时间:2023-12-02 15:32:29 25 4
gpt4 key购买 nike

我将如何在 Rails 设置中发送以下格式的 HTTP POST 请求:

curl https://api.venmo.com/v1/payments -d access_token=4e4sw1111111111t8an8dektggtcbb45 -d     email="someemail@gmail.com" -d amount=5 -d note="Delivery."

我想让用户将电子邮件/金额/备注参数输入到网页上的表单中,然后将该数据(当用户单击提交按钮时)传递到存储 access_token 参数的 Controller 中,然后触发关闭 POST 请求。

到目前为止,我已尝试使用此方法设置 Controller (并从 View html.erb 调用它):

def make_payment
if !params[:access_token].nil?

form_data = {
"email" => @email_to,
"amount" => @amount_to,
"note" => @note_to,
"access_token" => :access_token
}
url = "https://api.venmo.com/v1/payments"
request = Net::HTTP::Post.new(url, form_data)

response = http.request(request)

end
end

这是我当前的 View 设置:

  <div class="box box-warning">
<div class="box-header">
<h3 class="box-title">Pay Bill using Venmo Account</h3>
<div id="payment_note_input">
<input id="payment_note" type="text" class="form-control" required placeholder="add a note to your payment">
</div>
<div id="payment_target_input" >
<input id="payment_target" type="text" class="form-control" required placeholder="pay an email address">
</div>
<div id="payment_amount_input">
<input id="payment_amount" type="text" class="form-control" required placeholder="enter the payment amount! ">
</div>
</br>
<button class="btn btn-danger" type="button" onClick= <%=make_payment%> > Make payment</button>
</div>

我觉得我离解决方案很近了......

最佳答案

您可以使用 httpparty gem为实现这一点,只需一行即可轻松使用:

response = HTTParty.post("https://example.com?param1=value1",
:body => {:text => data}.to_json,
:headers => {'Content-Type' => 'application/json'}
)

如果没有特定的 Body 或 Header,可以删除 Body 和 Header,

如果你想实现 Get 请求就更简单了:

responce = HTTParty.get('http://example.com.json')
json=JSON.parse(responce.body) # in case you expect json responce

关于ruby-on-rails - 在 Rails 中发送 POST 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23572454/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com