【问题标题】:How to define Map objects in Open API 3.0, for GET API如何在 Open API 3.0 中为 GET API 定义地图对象
【发布时间】:2020-04-08 19:12:44
【问题描述】:

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

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

}

Open API 不支持 Map 类型。

【问题讨论】:

  • 您是指要使用什么 Java 注释(即,如果您从源代码生成 API 定义)还是字典/地图的 OpenAPI YAML 语法是什么?

标签: java yaml swagger openapi openapi-generator


【解决方案1】:

在您的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 如下所示:

希望对你有帮助:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-06
    • 2020-11-02
    • 1970-01-01
    • 2017-09-04
    • 2020-05-19
    • 1970-01-01
    • 2015-09-28
    • 1970-01-01
    相关资源
    最近更新 更多