Как лучше организовать хранение произвольных типов в XML-данных в открытом контракте API? - PullRequest
0 голосов
/ 05 июля 2019

Я разрабатываю публичный API с данными в формате XML. В XML-объекте, который возвращает API, есть поля с произвольными типами. Как организовать хранение данных так, чтобы у интегратора было как можно меньше проблем при реализации API? Больше всего я боюсь, что добавление нового произвольного типа нарушит контракт данных, и я хочу сохранить обратную совместимость.

Example_1:

<Data>
    <Value xsi:type="A">
        <Desc>description<Desc/>
    <Value/>
    <Value xsi:type="B">
        <Index>1</Index>
        <Count>2</Count>
    </Value>
</Data>

Example_2:

<Data>
    <Value xsi:type="A">
        <Desc>description<Desc/>
    <Value/>
    <Value xsi:type="B">
        <Index>1</Index>
        <Count>2</Count>
    </Value>
    <Value xsi:type="C">
        <Name>Alex</Name>
    </Value>
</Data>

Это нормальная практика, когда я продлеваю контракт таким образом? (Пример_1 -> Пример_2)

1 Ответ

0 голосов
/ 08 июля 2019
xsi:type="B"

Это серьезное усложнение договора, чтобы упростить замену произвольного типа на простой {string-string} [] словарь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...