Bunun gibi:
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 hakkında endişeliyim .
Sistem etki alanı, veri dışa aktarma ve çeşitli biçimlerde (xml, excel) içe aktarma yoluyla 3. taraflarla birçok şekilde entegre edilen bir platformdur. Üçüncü tarafların bir API aracılığıyla sistemimizle entegre olmasına izin verecek kadar olgun ve bu API'nın tasarımı bu soruyu harekete geçiriyor.
Kaynağı tanımlamak ve almak için kullanılabilecek bir tanıtıcıya sahip bir nesne, bir Kampanya var. API'mızın tüketicileri, alan adlarında bir Kampanya olarak gördükleri şeye ilişkin kendi referans kodlarına sahip olabilirler.
Sistemimizde üçüncü taraf referans alanları olan başka nesneler de mevcut ve mevcut tüketicilerimizden bekleniyor. Ancak, üzerimize haritalama yükü getiriyor ve bu referansın ne olduğunu bilmiyoruz (sayı, metin, json?) Ve yeni tüketiciler için API'ye başka bir kafa karıştırıcı özellik ekliyor.
Bir API için ortak nesne tanımlarında 3. Taraf referans kimliği alanlarına izin vermek kötü uygulama veya kötü tasarım olarak mı değerlendiriliyor?