Rails - API调用而不是数据库

时间:2014-02-03 22:50:31

标签: ruby-on-rails api webhooks

我正在编写一个应用程序,它是rails 4中两个API之间的“连接器”。

 -----              --------                               ------
|     | Webhooks   |        |  API Calls through a client |      |
| API | ---------> | My APP | --------------------------> | API' |
|     |            |        |                             |      |
 -----              --------                               ------

它是单向连接器,没有数据库,只有数据转换和API调用。

我想使用模型在里面进行API调用。即产品型号:

  • 找到产品
  • 保存产品
  • 等。我可以用数据库做同样的事情,但用API代替

最棘手的部分是API身份验证。我在每个webhooks之前都有一个before_filter来检索好的帐户和API密钥,我需要找到一种方法将我的API客户端传输到模型来执行调用。两个webhook之间的API帐户可能不同。

所以有两个问题:

  • 是否正确的方法(在模型中进行API调用)?为了避免代码重复并拥有瘦控制器
  • 是否有一种方法可以让Rails将一些数据从控制器传递给模型,而不需要为我的API客户端的每个方法设置特殊参数?

提前致谢

1 个答案:

答案 0 :(得分:1)

是的,您的逻辑仍应封装在产品“模型”中。它在概念上与activerecord和activeresource相同。我对API调用感到困惑。你是说你必须通过webhook传递API身份验证吗?它取决于型号还是取决于谁触发了webhook或其他完全不同的东西?目前还不是很清楚你想要做什么,所以一个例子会有所帮助。