У меня вопрос о том, как лучше всего обрабатывать данные из стороннего API в архитектуре моего приложения phoenix. По сути, у меня есть контроллер, который получает IP-адрес клиента в качестве параметра. Затем мне нужно получить геолокацию, связанную с этим IP-адресом, из внешнего API и сохранить как в базе данных (т.е. ip
и geolocation
).
В настоящее время мой подход заключается в использовании подключаемого модуля, а затем возвращает результат в структуре соединения.
Но я мог бы также получить данные, создав функцию непосредственно в модели, а затем вызовет ее во время операций набора изменений.
Или, возможно, другая альтернатива, например, создание OTP-приложения.
Ищите какое-то руководство по наилучшему подходу здесь или, по крайней мере, к компромиссам между собой.
Хотя мой сценарий специфичен, это, вероятно, общий дизайнерский вопрос, с которым сталкиваются люди.