kei*_*ith 5 ruby api ruby-on-rails httparty ruby-on-rails-4.1
Rails相对较新.我试图调用一个API,它应该返回一个唯一的URL给我.我在我的应用程序上捆绑了HTTParty.我已经创建了一个UniqueNumber控制器,我已经阅读了几个HTTParty指南,只要我想要的东西,但也许我只是有点迷失,真的不知道该怎么做.
基本上,我需要做的就是调用API,获取它返回的URL,然后将该URL插入数据库中供用户使用.有人能指出我正确的方向或与我分享一些代码吗?
我们假设API采用JSON格式并返回如下数据:
{"url": "http://example.com/unique-url"}
Run Code Online (Sandbox Code Playgroud)
为了保持整洁和良好的结构,API逻辑应该属于它自己的类:
# lib/url_api.rb
require 'httparty'
class UrlApi
API_URL = 'http://example.com/create'
def unique_url
response = HTTParty.get(API_URL)
# TODO more error checking (500 error, etc)
json = JSON.parse(response.body)
json['url']
end
end
Run Code Online (Sandbox Code Playgroud)
然后在控制器中调用该类:
require 'url_api'
class UniqueNumberController < ApplicationController
def create
api = UrlApi.new()
url = api.unique_url
@user = # Code to retrieve User
@user.update_attribute :url, url
# etc
end
end
Run Code Online (Sandbox Code Playgroud)
基本上,HTTParty返回一个响应对象,该对象包含HTTP响应数据,其中包括标题和实际内容(.body).正文包含您可以根据需要处理的数据字符串.在这种情况下,我们将字符串解析为JSON为Ruby哈希.如果您需要自定义对API的HTTP请求,您可以查看HTTParty文档中的所有选项.
| 归档时间: |
|
| 查看次数: |
7723 次 |
| 最近记录: |