如何在Swagger中否定搜索请求中的参数?

时间:2016-03-09 14:38:09

标签: api swagger

我正在为搜索端点编写我的第一个Swagger规范,并想知道是否有一种简单的方法来否定搜索参数。

以下是按品牌搜索的yml:

properties:
  brand:
    description: The magazine that produced the original article
    type: string

我还希望我们的用户能够通过排除品牌进行搜索(例如“来自[品牌]”或“不来自[品牌]”。是否比为每个参数创建重复属性更优雅的方法(例如,brandnotBrand)?

1 个答案:

答案 0 :(得分:1)

我建议如下。如果您使用搜索端点的查询参数(可能很聪明),您应该考虑使用类似的查询字符串参数:

    - name: brand
      in: query
      type: array
      items:
        type: string

您可以使用excludes的另一个查询参数,该参数遵循相同的语法。请务必设置collectionFormat,具体取决于API将如何解析查询字符串,因为数组不是跨框架标准化的。请阅读here了解详情。