我正在为搜索端点编写我的第一个Swagger规范,并想知道是否有一种简单的方法来否定搜索参数。
以下是按品牌搜索的yml:
properties:
brand:
description: The magazine that produced the original article
type: string
我还希望我们的用户能够通过排除品牌进行搜索(例如“来自[品牌]”或“不来自[品牌]”。是否比为每个参数创建重复属性更优雅的方法(例如,brand
和notBrand
)?
答案 0 :(得分:1)
我建议如下。如果您使用搜索端点的查询参数(可能很聪明),您应该考虑使用类似的查询字符串参数:
- name: brand
in: query
type: array
items:
type: string
您可以使用excludes
的另一个查询参数,该参数遵循相同的语法。请务必设置collectionFormat
,具体取决于API将如何解析查询字符串,因为数组不是跨框架标准化的。请阅读here了解详情。