我有 GET API,它将 Map 作为请求参数。如何在 Open API 3.0 中以 yaml 格式定义它
@GetMapping
public void getDevicesInfo(@RequestParam(required = false) Map parameters)
{
}
开放API不支持地图类型。
在您的
YAML
文件中,您需要为 Java 中的 additionalProperties
添加 Map
,并使用 parameters
来表示 @RequestParam
,如下所示:
/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 如下所示:
希望对你有帮助:)
我有一个类似的用例,我必须定义一个返回 Map
SchemaName:
type: object
properties:
property1: //returns string
type: string
property2: //returns Map<String, String>
type: object
additionalProperties:
type: string
property3: //returns List<String>
type: array
items:
type: string