是否有用于在Rails应用程序中使用和解析JSON:API format的库。我觉得一旦返回请求,模型对象应该看起来像ActiveRecord对象,类似于ActiveResource或Flexirest。但是,问题是这两个问题让我对使用像Faraday这样更通用的http适配器更好。我不得不做一些花哨的处理来提取深层嵌套的数组和哈希值,更不用说代表关联了。
我想知道其他人是如何处理这种情况的。我认为我遇到的部分问题是“Json api”对于相关内容的混乱而言有点棘手。
答案 0 :(得分:2)
对于我的项目我使用rest-client https://github.com/rest-client/rest-client
易于使用一些示例require
'rest-client'
RestClient.get 'http://example.com/resource'
RestClient.get 'http://example.com/resource', {:params => {:id => 50, 'foo' => 'bar'}}
RestClient.get 'https://user:password@example.com/private/resource', {:accept => :json}
RestClient.post 'http://example.com/resource', :param1 => 'one', :nested => { :param2 => 'two' }
RestClient.delete 'http://example.com/resource'
并且可以像这样解析JSON
resource = RestClient::Resource.new 'http://example.com/resource'
json = JSON.parse(resource)
答案 1 :(得分:1)
我目前正在使用rest-client来使用API,并使用json-api-vanilla来解析响应。非常好用:
response = RestClient.get(url, headers = authorization_header)
doc = JSON::Api::Vanilla.parse(response.body)
doc.data[0].comments[1].author.last_name
答案 2 :(得分:1)
json_api_client是我所知道的最强大,功能最全的客户端,当涉及自动解析和利用JSON:API的所有部分时。它绝对不是完全成熟的(不是线程安全的,所有结果都作为集合返回 -
包括单个find
,自定义选项仅限于为某些模块/方法注入完全替换)
但对于非常标准的用例来说,它非常棒 - 特别是如果您有权编写API的URL结构以匹配此库所期望的内容。