与外部API最佳实践交互的Rails5 API

时间:2017-07-19 18:10:54

标签: ruby-on-rails api service adapter ruby-on-rails-5

我正在为我正在构建的Stock Portfolio模拟游戏设计Rails 5 API。部分构建与外部API交互以提取最近的股票价格,然后我可以依次运行分析。

我的问题:与外部API交互的最佳做法是什么?我可能会使用Net / HTTP来实际调用,但是我应该把代码放在哪里?我可以将其直接放在其中一个模型中,但是如果以后可能不支持API,我想将交互分离到外部API。

我正在考虑的其他事情: - 创建一个类或模块并将其放在lib文件夹中 - 创建服务 - 创建适配器

很想听到每个人的想法。

1 个答案:

答案 0 :(得分:1)

将代码保存在lib文件夹中(如果有许多外部api,则可以创建lib / external文件夹)。每项服务都应该在单独的类或模块中。但是,服务通常包含一个模块和多个类来访问单独的资源。

# files
boats_api/
  boat.rb
  boat_list.rb
boats_api.rb

# usage
BoatsApi::Boat.find('boat')
BoatsApi::BoatList.all(page: 2)