【发布时间】:2019-10-18 14:54:25
【问题描述】:
我正在使用 Faraday 创建一个将与 API 交互的 SDK,我需要发送两个标头 API_SIGNATURE 和 API_REQUEST_TIME,这就是我创建的:
class APIClient
def initialize(api_key)
@api_key = api_key
end
def get_users
request.post('/users')
end
private
def request
Faraday.new(@@BASE_API_URL, headers: headers)
end
def headers
timestamp = Time.now.to_i.to_s
return {
API_SIGNATURE: Digest::MD5.hexdigest(@api_key + timestamp),
API_REQUEST_TIME: timestamp
}
end
end
由于某种原因,法拉第将 API_SIGNATURE 更改为 Api-Signature 和 API_REQUEST_TIME 更改为 Api-Request-Time。是否有可能防止这种情况发生?
谢谢。
【问题讨论】:
-
HTTP 标头字段不区分大小写。没关系:stackoverflow.com/a/5259004/823617 告诉 API 创建者他们的 API 不符合规范。
-
同意。不过,他们正在开发新的 API。