我正在为我正在构建的Stock Portfolio模拟游戏设计Rails 5 API。部分构建与外部API交互以提取最近的股票价格,然后我可以依次运行分析。
我的问题:与外部API交互的最佳做法是什么?我可能会使用Net / HTTP来实际调用,但是我应该把代码放在哪里?我可以将其直接放在其中一个模型中,但是如果以后可能不支持API,我想将交互分离到外部API。
我正在考虑的其他事情: - 创建一个类或模块并将其放在lib文件夹中 - 创建服务 - 创建适配器
很想听到每个人的想法。
答案 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)