如何在 Open API 3.0 中为 GET API 定义 Map 对象

How to define Map objects in Open API 3.0, for GET API

我有 GET API,它将 Map 作为请求参数。如何在 Open API 3.0 中以 yaml 格式定义它

@GetMapping
public void getDevicesInfo(@RequestParam(required = false) Map parameters)
{

}

打开 API 不支持地图类型。

在您的 YAML 文件中,您需要为 Java 中的 Map 添加 additionalProperties,并为 @RequestParam 使用 parameters 作为 :

/api/v1/test:
  get:
    tags:
      - test
    operationId: getDevicesInfo
    parameters:
      - name: parameters
        in: query
        required: false
        schema:
          type: object
          additionalProperties:
            type: object
    responses:
      '200':
        description: OK

生成的 GET API 看起来像:

希望对你有帮助:)