gpt4 book ai didi

ruby-on-rails - 使用 HTTParty 的非常基本的 Rails 4.1 API 调用

转载 作者:数据小太阳 更新时间:2023-10-29 07:12:44 24 4
gpt4 key购买 nike

Rails 相对较新。我正在尝试调用一个 API,它应该向我返回一个唯一的 URL。我的应用程序中捆绑了 HTTParty。我已经创建了一个 UniqueNumber Controller ,并且我已经阅读了几个 HTTParty 指南,直到我想要什么,但也许我只是有点迷路,真的不知道该怎么做。

基本上,我需要做的就是调用 API,获取它返回的 URL,然后将该 URL 插入到用户的数据库中。谁能给我指出正确的方向或与我分享一些代码?

最佳答案

假设 API 为 JSON 格式并返回如下数据:

{"url": "http://example.com/unique-url"}

为了保持整洁和结构良好,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

然后在 Controller 中调用那个类:

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

基本上 HTTParty 返回一个包含 HTTP 响应数据的响应对象,其中包括 header 和实际内容 (.body)。正文包含一串数据,您可以根据需要进行处理。在这种情况下,我们将字符串作为 JSON 解析为 Ruby 哈希。如果您需要自定义对 API 的 HTTP 请求,您可以在 HTTParty documentation 中看到所有选项。 .

关于ruby-on-rails - 使用 HTTParty 的非常基本的 Rails 4.1 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26897592/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com