当前位置: 首页 > 知识库问答 >
问题:

如何描述查询参数?

麹高远
2023-03-14

我正试图弄清楚如何在OpenAPI中记录我的两个查询参数。

    null

filter键是一个关联数组,可以包含API中的资源名称集合列表。分配给每个筛选项的值是单个id或逗号分隔的id列表。

排序

For排序也遵循JSON:API建议,因此如下所示:

    null

例如,我不确定是否可以指定过滤器键是一个关联数组,或者它接受逗号分隔的ID列表。对于排序几乎同样的问题:如何表示逗号分隔的排序字段列表?

共有1个答案

逑沛
2023-03-14

这可能有点老了,但我目前正在记录一个API,它的排序、筛选和动态关系包括遵守JSON API规范,我刚刚知道如何正确地记录筛选查询参数。下面的代码是用JSON编写的,但我希望如果您正在编写YAML,您可以对其进行修改以满足自己的需要

{
    "schema": {
      "type": "object",
      "additionalProperties": false,
      "properties": {
        "id": {
          "description": "Id of the user",
          "type": "string"
        },
        "referrer_id": {
          "description": "The id of the user that referred the user",
          "type": "string"
        },
        "email_verified": {
          "description": "Whether the user has verified their email address",
          "type": "boolean"
        },
        "trashed": {
          "description": "Whether the user has been soft deleted",
          "type": "string",
          "enum": [
            "with",
            "only"
          ]
        }
      }
    },
    "in": "query",
    "name": "filter",
    "description": "Really long description.........",
    "style": "deepObject",
    "explode": true,
    "allowReserved": true
  }

要进行文档排序,您可以按照下面的示例进行

parameters:
  - in: query
    name: ids
    description: One or more IDs
    required: true
    schema:
      type: array
      items:
        type: integer
    style: form
    explode: false
    examples:
      oneId:
        summary: Example of a single ID
        value: [5]   # ?ids=5
      multipleIds:
        summary: Example of multiple IDs
        value: [1, 5, 7]   # ?ids=1,5,7
 类似资料:
  • 我通过compojure-api使用ring-swagger。我有几个查询参数,我正在努力寻找一种方法来向单个查询参数添加描述。我可以添加整个endpoint的摘要,但这还不够。 是否可以使用ing-swagger/compojure-api向单个查询参数添加swagger描述?

  • 如何在swagger UI中将数组对象传递给参数?这是一个GET请求。我有一个数据类型为Array[]和参数类型为query的请求参数。我已经尝试了下面的阵列,它似乎不工作。我不熟悉招摇的用法。无法解决问题。 型:

  • 这是继续这个问题。 我添加了一个模型来获取查询参数到pydantic模型 它按预期工作,但描述(在模型中添加)没有反映在 Swagger UI 中 但是,如果请求正文使用相同的模型,则描述将以大摇大摆的方式显示 为了在swagger ui中获得对QueryParams(model)的描述,我是否遗漏了什么?

  • 问题内容: 这是我的简单表格: 这是我的Express.js /Node.js代码: 我试过或或,等等。它们都不起作用。他们都回来了。 当我更改为Get呼叫时,它可以工作,所以..有什么想法吗? 问题答案: 事情已经改变了再次启动 快速4.16.0 ,您现在可以使用与就像在 快车3.0 。 从 Express 4.0到4.15,* 这是不同的: * 然后: 其余的就像在 Express 3.0中一

  • 我有一个基本的rest控制器,可以获取参数。 如果查询字符串包含我没有定义的参数,我如何拒绝连接? 当前,在调用此url时,只使用id执行该方法,而忽略未知的参数。一般来说,这很好,但我如何验证它们,以防返回HTTP状态码?

  • 问题内容: 这是我的简单表格: 这是我的Express.js/Node.js代码: 我尝试过或或,等等。它们都不起作用。他们都回来了。 当我更改为Get呼叫时,它可以工作,所以..有什么想法吗? 问题答案: 事情已经改变了再次启动快速4.16.0,您现在可以使用与就像在快车3.0。 从Express 4.0到4.15,这是不同的: 然后: 其余的就像在Express 3.0中一样 : 首先,您需要