代码之家  ›  专栏  ›  技术社区  ›  marcosh

带有对象列表的OpenAPI查询字符串参数

  •  1
  • marcosh  · 技术社区  · 6 年前

    我正在尝试记录 OpenAPI 如下所示的查询字符串

    filtered[0][id]=code&filtered[0][value]=12345
    

    并包含具有属性的对象列表 id value .

    我的 yaml 文档如下所示

    parameters:
        - name: filtered
          in: query
          description: filters to be applied
          explode: true
          style: deepObject
          schema:
            type: array
            items:
              properties:
                id:
                  description: name of the field to be filtered
                  type: string
                value:
                  description: value of the filter
              type: object
    

    问题如下:看起来 style: deepObject 选项仅适用于一个级别,而不适用于对象实际所在的第二个级别。也就是说,它需要一个查询字符串,如

    ?sorted[0]=%7B%0A%20%20%22id%22%3A%20%22string%22%2C%0A%20%20%22value%22%3A%20true%0A%7D
    

    对象未序列化为数组 身份证件 价值 钥匙。

    有没有办法解决这个问题?

    2 回复  |  直到 6 年前