Мой проект - это микросервисы, которые соединяют два основных сервиса, мой проект получает данные с одного сервера, форматирует их, а затем использует эти данные для создания файла XML, а затем загружает XML в другой сервис.Мне просто интересно, есть ли какой-либо шаблон проектирования для этого вида микро-сервисов.
это JSON, полученный от внутреннего сервера:
{
"employee_id": 100464,
"organization_id": 93,
"start_date": "2018-09-05",
"first_name": "Tom",
"departments": [
{
"id": 2761,
"name": "Sale",
"organization_id": 93
},
{
"id": 2762,
"name": "Product",
"organization_id": 93
}
],
"primary_department": {
"id": 2761,
"name": "Product",
"organization_id": 93
}
}
Это формат данных, который яхочу, поэтому мне нужно выполнить некоторое форматирование данных:
{
"employee_id": 100464,
"organization_id": 93,
"first_name": "Tom",
"target_department": {
"department_id": 2761,
"name": "Product",
"organization_id": 93,
"is_primary_department": true
}
}
логика для определения target_department -
departments = hsh.delete :departments
primary_department = hsh.delete :primary_department
hsh[:target_department] = departments.select do |department|
department[:id] ==another_obj[:group_id]
end.first
hsh[:target_department][:is_home_department] = (hsh[:target_department][:id] == primary_department[:id])
hsh[:target_department][:department_id] = hsh[:target_department].delete :id
Как видите, мне нужно удалить, переименовать ипереформатировать атрибуты и структуру данных.
В ходе этого процесса возникает много потенциальных проблем: атрибуты не существуют?Мой вопрос: какова лучшая практика для решения этой проблемы с точки зрения программирования?
Я использую Rails, поэтому любой хороший гем или проект имеет дело с подобной проблемой?