【发布时间】:2018-07-10 17:40:16
【问题描述】:
我目前正在使用Httparty 制作一个GETSeamless.giv API,它从表单返回字段。在请求中,需要传递身份验证标头才能访问 API。但是必须以特定的形式提出请求。这就是问题出在基础 URI 中还是附加的地方?
这是curl 请求示例:
curl -X GET -H "AuthDate: 1531236159"\
-H "Authorization: HMAC-SHA256 api_key=XXXXXXXX nonce=12345 Signature=XXXXXXXXXXX"\
-d 'false' https://nycopp.seamlessdocs.com/api/form/:form_id/elements
这是我目前采取的方法:
class SeamlessGov
include HTTParty
base_uri "https://nycopp.seamlessdocs.com/api"
def initialize(args={})
@api_key = args[:api_key]
@nonce = args[:nonce]
@signature = generate_signature
end
def form(form_id)
@form = form_id
end
def headers(headers={})
@headers = headers
end
def generate_signature
# bash command
end
end
最佳做法是将其附加或放在base_uri 中,例如:
base_uri "https://nycopp.seamlessdocs.com/api/form/:form_id/elements" 或创建了一个附加到 base_uri 的方法,例如:
def append_form(form)
"/form/#{form}/elements"
end
最好的方法是什么?所以当我打电话
@form = SeamlessGov.new(params, headers) 有效。
【问题讨论】: