Нравится:
Campaign:
type: object
properties:
id:
type: string
description: "A GUID identifier"
referenceId:
type: string
description: "A consumers identifier they have used to map their own systems logic to this object."
name:
type: string
description: "'Great Campaign 2017' as an example"
Я обеспокоен ссылкой .
Системный домен представляет собой платформу, которая во многих отношениях интегрируется с третьими сторонами посредством экспорта и импорта данных в различных форматах (xml, excel). Он достаточно зрелый, чтобы позволить сторонним организациям интегрироваться с нашей системой через API, и дизайн этого API - то, что вызывает этот вопрос.
У нас есть объект, Campaign, у которого есть идентификатор, который можно использовать для идентификации и извлечения ресурса. Потребители нашего API могут иметь собственный код ссылки на то, что они считают Кампанией в своем домене.
В нашей системе есть другие объекты со сторонними ссылочными полями, как это, и это ожидается от наших существующих потребителей. Однако я волнуюсь, это накладывает на нас бремя отображения, и мы не знаем, что такое этот referenceId (число, текст, json?), И это добавляет еще одно запутанное свойство в API для новых потребителей.
Считается ли плохой практикой или плохим дизайном разрешать сторонние поля ссылочных идентификаторов в определениях публичных объектов для API?