【发布时间】:2014-02-03 22:50:30
【问题描述】:
我正在编写一个应用程序,它是 rails 4 中两个 API 之间的“连接器”。
----- -------- ------
| | Webhooks | | API Calls through a client | |
| API | ---------> | My APP | --------------------------> | API' |
| | | | | |
----- -------- ------
它是单向连接器,没有数据库,只有数据转换和 API 调用。
我想使用模型在里面进行 API 调用。即产品型号:
- 查找产品
- 保存产品
- 等等......我可以用数据库做同样的事情,但用 API 代替
最棘手的部分是 API 身份验证。我在每个 webhook 之前都有一个 before_filter 来检索好的帐户和 API 密钥,我需要找到一种方法将我的 API 客户端传输到模型以执行调用。两个 webhook 的 API 帐户可能不同。
所以两个问题:
- 这样做是否正确(在模型中调用 API)?为了避免代码重复并拥有瘦控制器
- Rails 有没有一种方法可以将一些数据从控制器传递到模型,而无需为我的 API 客户端的每个方法设置特殊参数?
提前致谢
【问题讨论】:
-
SoC en.wikipedia.org/wiki/Separation_of_concerns 所以不,你可能不应该那样做。另一件事:如果在 Rails 中很难做到,那不是一个好主意。
标签: ruby-on-rails api webhooks