В моем приложении мне нужно собрать некоторые данные из 2 отдельных (сторонних) API и добавить их в мою базу данных для записи для лучшего анализа.
Обе API имеют одинаковое количество необработанных файлов (Например, когда я запрашиваю images
для альбома X, он покажет мне данные для ВСЕХ изображений в этом альбоме)
Так что оба API будет иметь одинаковое количество images
НО различных полей и имен полей.
В моем приложении мне интересны только данные для 5 полей из обоих API .Я получаю field_1
, field_3
& field_5
от первого API , в то время как я получаю field_2
& field_4
от второго API .
Вот как я делаю это сейчас, чтобы только получить значение поля из первого API (я все еще не могу понять, как поставить API вместе) .
## My Image Model
class Image < ActiveRecord::Base
private
def self.add_image_data_to_database(object, field_1, field_2, field_3, field_4, field_5)
object.create(
field_1: field_1,
field_2: field_2,
field_3: field_3,
field_4: field_4,
field_5: field_5,
)
end
end
## My Images Controller
class ImagesController < ApplicationController
first_site_api = "api.website-1.com"
first_api_results = HTTParty.get(first_site_api)
first_api_json = JSON.parse(first_api_results)
second_site_api = "api.website-2.com"
second_api_results = HTTParty.get(second_site_api)
second_api_json = JSON.parse(second_api_results)
first_api_json.each do |data|
Image.add_image_data_to_database(
data['field_1'],
data['field_3'],
data['field_5']
)
end
end
В основном, что мне нужно, и я удивляюсь, как это сделать, это получить некоторые значения полей из первого API и некоторые из второго API и соединить их вместе, чтобы я мог добавитьих все за 1 изображение.