OpenAPI spec:忽略查询参数的默认值



我在OpenAPI 3规范中描述了一个参数

review_requests:
get:
tags:
- dashboard
operationId: reviewRequests
parameters:
- name: page
in: query
default: 0
description: Page number
schema:
type: integer
responses:
200:
description: OK
编译后,我看到Java代码中缺少默认值,参数实际上是这样描述的:
@Valid @RequestParam(value = "page", required = false) Integer page

,如果GET请求中没有提供参数,我将接收null,而不是0。在我看来应该是

@Valid @RequestParam(value = "page", required = false, defaultValue = "0") Integer page

是bug还是我做错了什么?

最后我找到了解决方案:在OpenAPI 3。x,必须在参数"schema"中指定默认值。换句话说,不是

parameters:
- name: page
in: query
default: 0
description: Page number
schema:
type: integer

应该是

parameters:
- name: page
in: query
description: Page number
schema:
type: integer
default: 0

最新更新