2017-07-19 2 views
0

Ich entwerfe eine Rails 5-API für ein Stock Portfolio-Simulationsspiel, das ich gerade entwickle. Ein Teil des Builds interagiert mit einer externen API, um die aktuellsten Aktienkurse zu ziehen, die ich wiederum analytisch analysieren kann.Rails5-API, die mit externen API-Best Practices interagiert

Meine Frage: Was sind Best Practices für die Interaktion mit der externen API? Ich werde wahrscheinlich Net/HTTP verwenden, um die Anrufe tatsächlich zu tätigen, aber wo sollte ich diesen Code ablegen? Ich könnte dies direkt in eines der Modelle einfügen, jedoch möchte ich die Interaktionen mit der externen API trennen, falls die API in Zukunft nicht unterstützt wird.

Andere Dinge, die ich überlege mir: - Erstellen Sie eine Klasse oder ein Modul und legen Sie sie in den Ordner lib - Erstellen eines Dienst - Erstellen Sie einen Adapter

Würde lieben, jeden Gedanken zu hören.

Antwort

1

Behalten Sie den Code im Lib-Ordner (oder Sie können lib/externen Ordner erstellen, wenn Sie viele externe API haben). Jeder Dienst sollte in einer separaten Klasse oder einem separaten Modul sein. Aber oft besteht der Dienst aus einem Modul und mehreren Klassen, um auf separate Ressourcen zuzugreifen.

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

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