【发布时间】:2025-12-09 13:25:01
【问题描述】:
现在我打电话:
def child(parent_id, child_id, params = {})
if @api_token
self.class.get("/parents/#{parent_id}/children/#{child_id}", query: params,
:headers=>{"Authorization"=>"Token token=#{@api_token}"})
else
self.class.get("/parents/#{parent_id}/children/#{child_id}", query: params)
end
end
它直接从 API 返回 JSON 响应作为哈希。我有没有一种简单的方法来标准化响应,以便它解析 JSON 并生成一个类?
例子:
Original Response
--------
{'child' : { 'name' : 'John Doe', 'age' : 23 } }
Desired Response
--------
res.name # John Doe
res.age # 23
res.class # APIClient::Child
【问题讨论】:
-
我在想也许可以使用 hashie。但是后来,我看到您要求
res.class返回根节点。 Hashie 在这里可能帮不上什么忙。我猜,也许您可以扩展 hashie 的 API 以使其满足您的需求? -
@bsvin33t hashie 可能不是一个坏主意。我真的不需要 .class,只是认为它有效地说明了这个概念。
标签: ruby-on-rails ruby ruby-on-rails-4 httparty