[BUG] Spring Boot fails to parse LocalDate query parameter
Created by: macjohnny
Bug Report Checklist
-
Have you provided a full/minimal spec to reproduce the issue? -
Have you validated the input using an OpenAPI validator (example)? -
What's the version of OpenAPI Generator used? -
Have you search for related issues/PRs? -
What's the actual output vs expected output? -
[Optional] Bounty to sponsor the fix (example)
Description
When defining a query parameter of type: string
and format: date
/bla:
get:
parameters:
- $ref: '#/parameters/analysisDate'
produces:
- application/json
responses:
200:
description: 'Successful operation'
parameters:
analysisDate:
name: analysisDate
in: query
required: true
type: string
format: date
the server fails to parse a url like /bla?analysisDate=2017-11-30
The generated code looks like
blaGet(@NotNull @ApiParam(value = "Analysis Date", required = true) @Valid @RequestParam(value = "analysisDate", required = true) LocalDate analysisDate)
openapi-generator version
3.3.4
Related issues/PRs
https://blog.codecentric.de/en/2017/08/parsing-of-localdate-query-parameters-in-spring-boot/ https://github.com/spring-projects/spring-boot/pull/9930
Suggest a fix
adding @DateTimeFormat(iso = DateTimeFormat.ISO.DATE)
resolves the issue:
blaGet(@NotNull @ApiParam(value = "Analysis Date", required = true) @Valid @RequestParam(value = "analysisDate", required = true) @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) LocalDate analysisDate)