Swagger定义中的互斥属性

时间:2016-04-11 23:06:39

标签: swagger

API设计中的一种常见模式是有时预取相关实体,而在其他时候只提供相关实体的id。

例如,在获取用户时,您可以获得相关组织:

{ 
   "id": "user-id",
   "organisation": {
      "id": "org-id"
   }
}

在其他时间(例如在用户列表中),您只能在同一字段中获得组织ID。

{ 
   "id": "user-id",
   "organisation": "org-id"
}

或者,您只能获得组织ID,但在不同的命名字段中:

{ 
   "id": "user-id",
   "organisationId": "org-id"
}

我的问题是,我们可以在Swagger中定义这样的变量模式吗?我们当然可以定义一个UserWithOrganisation和一个UserWithoutOrganisation,但如果我们有几个关系,那么这个问题就会很快失控。

在第一个呈现的案例中,字段的类型需要是基元或对象。

在第二种情况下,organisation属性或organisationId属性存在,但从不同时存在,也总是一个。

0 个答案:

没有答案