【问题标题】:Best practice of implementing a webservice client in rails application在 Rails 应用程序中实现 Web 服务客户端的最佳实践
【发布时间】:2008-12-03 18:43:49
【问题描述】:

在某种情况下,当我需要一个 Web 服务客户端,它会被一些动作控制器使用时,应该如何实现?由于它将有一些常量值(地址、参数名称)和会话密钥,每 30 分钟刷新一次,我猜存储在数据库中的模型不是最好的解决方案。最佳做法是什么?

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    将 Web 服务使用者构建为库并将其放置在 /lib 目录中。

    我还推荐HTTParty 用于非常简单的网络服务消费。您可以轻松地构建一个库来处理该任务,一个带有几个方法的简单类,然后将它扔到您的 /lib 目录中,然后就可以使用了。

    祝你好运!

    【讨论】:

    • 您推荐的宝石真的很棒。但我仍然不确定在哪里存储共享会话密钥。由于它每 30 分钟到期一次,并且我将在这段时间内执行大约 100 个请求,将其存储在某个地方将节省大量的密钥获取请求。你认为本地 YAML 文件适合吗?
    • 创建一个模型来存储密钥,一旦查询到它,你可以缓存它,只要你需要它。或者你也可以采用 YAML 文件的方式。这个截屏视频应该可以轻松完成:railscasts.com/episodes/85-yaml-configuration-file,看看哪个最适合您。
    【解决方案2】:

    Rails 1.x 曾经内置“actionwebservices”,但它已从 Rails 2.x 中删除。我最后一次这样做是为了构建一个使用 XML-RPC 实现为类的 SSO 服务器。不幸的是,该代码未公开(在内部为我的雇主完成),但低于 1k LOC,包括。 cmets...纯红宝石。

    现在,我可能会使用像 Sinatra 这样的轻量级框架或类似的框架。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-27
      • 2020-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多