gpt4 book ai didi

ruby-on-rails - 使用 Rails(HTTP 请求)连接到 Web 服务?

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

我正在使用 Ruby on Rails 3,我正在尝试实现 API 以从 Web 服务检索帐户信息。也就是说,我想连接到具有 Account 类的 Web 服务并从 show 获取信息。在 URI http://<site_name>/accounts/1 处路由的操作.

此时,在网络服务中accounts_controller.rb我有的文件:

class AccountsController < ApplicationController
def show
@account = Account.find(params[:id])

respond_to do |format|
format.html
format.js
format.json { render :json => @account.to_json }
end
end
end

现在我需要一些关于连接到网络服务的建议。在客户端应用程序中,我应该有一个 HTTP GET 请求,但这是我的问题:连接到发出 HTTP 请求的 Web 服务的“最佳”方法是什么?

客户端应用程序中的这段代码有效:

url = URI.parse('http://<site_name>/accounts/1.json')
req = Net::HTTP::Get.new(url.path)
res = Net::HTTP.start(url.host, url.port) {|http|
http.request(req)
}

@output = JSON(res.body)["account"]

但是,上面的代码是实现 API 的“方式”吗?

是否建议使用第三方插件和 gem?

最佳答案

是的,因为您使用的是 RESTful路由,它们是你的基本 API。您还将返回应用程序可以轻松使用的结构化 JSON 数据。

还有其他方法可以实现 Web 服务 API(例如 SOAP ),但这是一种很好且正确的方法。

由于它是一个网络服务 API,因此连接到正确的 URL 并解析响应是在客户端进行的方式。不过,如果您需要访问许多不同的资源,那么创建一种灵活的方式来构建请求 URL 可能是个好主意。

关于ruby-on-rails - 使用 Rails(HTTP 请求)连接到 Web 服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5043818/

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