Как описать преобразование структуры данных?

Пример, нам нужно сделать запрос по API. У нас есть набор данных, номер карты, телефон, адрес и так далее.
Допустим один API принимает данные в виде:
<card>345354345</card>
<phone>456456456</phone>
<address>dgfdgdfgf</address>


Другому нужен только номер карты и называется она иначе:
<card_number>345354345</card_number>

У третьего есть основное поле, а все остальные обязательные, но не основные, и названия полей тоже другие:
<pay_to>345354345</pay_to>
<extra>
<call_to>456456456</call_to>
<location>dgfdgdfgf</location>
</extra>


Четвёртый дополнительные данные ожидает в виде значений атрибутов:
<card>345354345</card>
<extra phone="456456456" address="dgfdgdfgf">


А у пятого есть два основных параметра:
<main>
<pay_to>345354345</pay_to>
<pay_to_alter>676556767</pay_to_alter>
</main>
<extra>
<call_to>456456456</call_to>
<location>dgfdgdfgf</location>
</extra>


Это всё не обязательно xml, это и json и yaml и всё что угодно.
Вопрос - как можно описать имеющуюся у нас информацию и как описывать её преобразования, чтобы без лишней головной боли при появлении нового изощрённого формата можно было его описать не меняя исходные данные и не меняя код?
Какие есть для этого общепринятые решения?
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
IMHO, самый лучший вариант - предусмотреть подключение библиотек-плагинов, со стороны вашего приложения принимающих и выдающих данные в едином для приложения формате, и ведущих обмен со сторонними API в их формате.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы