使用 Rails 连接到 Web 服务(HTTP 请求)?

2024-03-08

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

此时,在web服务中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 的“方式”吗?

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


是的,既然你正在使用RESTful http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_web_services路线,它们是你的基本 API。您还返回可由应用程序轻松使用的结构化 JSON 数据。

还有其他方法可以实现 Web 服务 API(例如SOAP http://en.wikipedia.org/wiki/SOAP),但这是一个好的、正确的方法。

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Rails 连接到 Web 服务(HTTP 请求)? 的相关文章

随机推荐

  • 如何在画布上制作自定义可编辑文本框,背景随文本一起传播?

    我没有在flutter中使用过canvas 但我认为像图像中的编辑文本框可以通过canvas来实现 背景随着文本长度而扩展 如果一行中的文本长度为 0 则没有背景 如果您有任何代码或建议可以这样做 请提供帮助 这里是代码 class Tex
  • 由 Peer pymongo 重置连接

    我有一些文档 我必须从 mongodb 获取并将其设置到 memcache 这是代码 import memcache from pymongo import MongoClient db mongo client job db JobPar
  • 如何在训练自动编码器(回调)期间将keras中的输入随机设置为零?

    我正在联合训练具有 2 个独立输入路径的 2 个自动编码器 并且我想将其中一个输入路径随机设置为零 我将 Tensorflow 与 keras 后端 功能 API 一起使用 我正在计算反向传播的联合损失 两个损失的总和 A gt A B g
  • 重新排序数组时如何用 Angular-Animate 触发 ng-move?

    使用角度1 2 4 我试图弄清楚当重复的项目重新排序时如何触发 ng animate 的移动 我知道 ng animate 正在工作 因为进入 离开和移动的动画都是在应用过滤器时触发的 但是 当我使用某些数组方法对数组重新排序时 不会触发任
  • 从 ng-repeat [duplicate] 中删除重复项

    这个问题在这里已经有答案了 我有一个非常简单的数组 其中有重复的值 我的数组是这样的 scope type Bar Pie Line Line Line Line Line Line map Line Bar Pie Pie Pie Pie
  • Android 无法将 FAB 按钮锚定到 BottomSheet

    我正在尝试将 FAB 按钮附加到 BottomSheet 视图 就像 Google 地图一样 然而我无法让它发挥作用 这是 FAB 按钮的代码
  • 如何使用 colorbox 在页面上显示隐藏的 div 而无需进行硬编码?

    我正在使用 Colorbox 在我的页面上显示隐藏 div 的 html 内容 我可以让它与以下内容完美配合 a colorbox colorbox width 600px inline true href 344 这将显示 ID 为 34
  • C 结构大小不一致[重复]

    这个问题在这里已经有答案了 可能的重复 如何找到结构体的大小 https stackoverflow com questions 143025 how do i find the size of a struct 结构体的内存大小不同 ht
  • 比较不同数组的范围值

    我正在尝试将 arr3 的范围值与 arr4 的范围值进行比较 但我没有得到所需的输出 请建议我修改以下代码以获得输出 3 4 5 6 7 9 10 11 12 14 15 不重复值 例如5和10 并且总匹配 11 my arr3 1 5
  • 为什么不继承List

    在计划我的计划时 我经常从这样的一系列思考开始 足球队只是足球运动员的名单 因此 我应该用 var football team new List
  • Chrome 开发者工具:如何禁用代码自动完成?

    我正在源面板中尝试使用 Chrome DevTool 漂亮的 Workspaces in devtools 代码编辑器 其设置大致类似于此处接受的答案 Chrome 开发者工具 在单独的视图 垂直平铺中查看控制台和源视图 https sta
  • Mysql 查询运行速度更快

    表结构 CREATE TABLE IF NOT EXISTS logs id bigint 20 unsigned NOT NULL AUTO INCREMENT user bigint 20 unsigned NOT NULL type
  • 如何捕获 Android 上的应用流量

    我正在尝试从 Android 手机上的应用程序捕获流量 尽管我已在手机上设置代理并且可以捕获来自手机的所有其他互联网流量 使用 Charles 代理 但我看不到任何流量这一个应用程序 这是如何完成的以及如何捕获流量 UPDATE 如果您需要
  • 将 UTC 时间戳转换为任何其他区域时间戳

    我正在使用 MongoDB 来存储我的数据 Mongo 默认以 UTC 格式存储时间戳 我们在不同时区处理数据 我正在努力将 UTC 时间戳转换为 PDT 或 IST 时间戳 尝试构造一个方法来传递时区 我的时间戳将转换为其中 和时间戳 U
  • 用户配置文件的布局不适用于 asp.net core 3.0

    在 Asp core 3 0 上 当用户单击其个人资料 Areas Identity Pages Account Manage layout cshtml 时 我的布局页面无法正常工作 当我登录后单击默认电子邮件时 我会看到 Manage
  • 重置 R 实例

    是否可以重置 R 实例 例如 如果我使用了命令 x lt 1 10 plot x x 从而用 x 变量污染了系统 在这种状态下 我可以在不关闭 R 并再次启动它的情况下恢复到干净状态吗 您可以使用以下命令从工作区中删除所有变量 rm lis
  • protobuf-net 不比二进制序列化快吗?

    我编写了一个程序 使用 XMLSerializer BinaryFormatter 和 ProtoBuf 序列化 Person 类 我认为 protobuf net 应该比其他两个更快 Protobuf 序列化比 XMLSerializat
  • MVC 4 中的防伪 cookie 令牌和表单字段令牌不匹配

    我在 ASP NET MVC 4 中使用默认登录模块 我没有更改默认应用程序中的任何代码 并将其托管在共享服务器上 我使用默认登录页面登录后 我让浏览器闲置了一段时间 然后 当我尝试执行任何控制器操作时 显然应用程序会重定向到登录页面 Au
  • Python Matplotlib - 未对齐的网格线和颜色填充

    我使用以下代码来生成一种二进制热图 import numpy as np import matplotlib colors as mlc import matplotlib pyplot as mlp states AAAA BBBB CC
  • 使用 Rails 连接到 Web 服务(HTTP 请求)?

    我正在使用 Ruby on Rails 3 并尝试实现 API 以从 Web 服务检索帐户信息 也就是说 我想连接到具有 Account 类的 Web 服务并从show在 URI 处路由的操作http