我在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