Mam pytanie dotyczące najlepszego sposobu obsługi pobierania danych z interfejsu API innej firmy w architekturze mojej aplikacji phoenix. Zasadniczo mam kontroler, który przyjmuje adres IP klienta jako parametr. Następnie muszę pobrać geolokację powiązaną z tym adresem IP z zewnętrznego interfejsu API i zapisać zarówno w bazie danych (tj. ip
i geolocation
).Gdzie najlepiej pobrać dane z usługi API innej firmy w ramach architektury aplikacji Phoenix
Obecnie moim podejściem jest użycie wtyczki, a następnie zwrócenie wyniku w strukturze połączenia.
Ale mogę też pobrać dane, tworząc funkcję bezpośrednio w modelu, a następnie wywołać ją podczas operacji zestawów zmian.
A może jest inna alternatywa, taka jak utworzenie aplikacji OTP.
Szukasz wskazówek dotyczących najlepszego podejścia tutaj lub przynajmniej kompromisu między jednym a drugim.
Chociaż mój scenariusz jest specyficzny, jest to prawdopodobnie typowe pytanie projektowe, z którym ludzie się spotykają.