像这样:
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"
我担心referenceId。
系统域是一个平台,该平台通过数据导出和各种格式(xml,excel)的导入以多种方式与第三方集成。它已经足够成熟,可以允许第三方通过API与我们的系统集成,而该API的设计正是引发这一问题的原因。
我们有一个名为Campaign的对象,该对象的ID可用于识别和检索资源。我们API的消费者可能在自己的域内拥有自己的参考代码,以作为他们认为是广告系列的参考代码。
我们系统中还有其他带有第三方参考字段的对象,这是我们现有消费者所期望的。但是我担心这给我们增加了映射的负担,我们不知道这个referenceId是什么(数字,文本,json?),并且为新使用者增加了另一个令人困惑的属性。
在API的公共对象定义中允许第三方引用ID字段被视为不良做法或不良设计?