Подобається це:
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"
Я стурбований посиланнямId .
Домен системи - це платформа, яка багато в чому інтегрується з третіми сторонами шляхом експорту даних та імпорту різних форматів (xml, excel). Він достатньо зрілий, щоб дозволити третім сторонам інтегруватися з нашою системою через API, і дизайн цього API - це те, що спонукає до цього питання.
У нас є об’єкт - Кампанія, який має ідентифікатор, який можна використовувати для ідентифікації та отримання ресурсу. Споживачі нашого API можуть мати власний довідковий код того, що вони вважають Кампанією у своєму домені.
В нашій системі є й інші об'єкти із сторонніми довідковими полями, як це, і це очікується від наших існуючих споживачів. Однак я хвилююся, що це покладає на нас тягар картографування, і ми не знаємо, що це за referenceId (число, текст, json?), І це додає ще одне заплутане властивість API для нових споживачів.
Чи вважається поганою практикою чи поганим дизайном допускати сторонні посилання Id Id у визначеннях загального об'єкта для API?