是否有一个Gem用于通过curl简化POST到API

时间:2012-06-07 16:21:59

标签: ruby-on-rails

我见过使用非常简单方便的POST方法的API,例如https://stripe.com/或新的https://pin.net.au/。它不是通过JSON发送对象,而是将其作为post属性和值发送,返回的​​是json。

curl https://api.pin.net.au/1/charges \
-u your-api-key: \
-d "amount=400" \
-d "description=test charge" \
-d "email=roland@pin.net.au" \
-d "ip_address=203.192.1.172" \
-d "card[number]=5123456789012346" \

我的问题是否有任何宝石可以在Rails上执行此操作?我可以理解这下面发生了什么,但我想确定是否有一个Gem可以无缝地改变我当前的默认实现。

1 个答案:

答案 0 :(得分:1)

您是否在询问如何创建或使用此类API?

消耗:

require 'rest-client'
require 'json'

resp = RestClient.post(
  'https://vtUQeOtUnYr7PGCLQ96Ul4zqpDUO4sOE:@api.stripe.com/v1/charges', 
  { 
    :amount => 400, 
    :currency => 'usd', 
    :description => "charge for site@stripe.com", 
    :card => { 
      :number => '4242424242424242', 
      :exp_month => 12, 
      :exp_year => 2012, 
      :cvc => 123 
    } 
  })

JSON.parse(resp)

要创建这些API,您可以使用以下内容:

https://github.com/intridea/grape

https://github.com/filtersquad/rocket_pants