java-spring: Spring Boot fails to parse LocalDate query parameter#3860
java-spring: Spring Boot fails to parse LocalDate query parameter#3860macjohnny merged 1 commit intoOpenAPITools:masterfrom peyerroger:bugfix/2053
Conversation
Adds the format annotation so that Spring is able to serialize OpenApi date/date-time format into LocalDate/OffsetDateTime.
|
@jimschubert Hi Jim. Your review comments would be very appreciated. Cheers, Roger |
|
cc @bbdouglas (2017/07) @sreeshas (2017/08) @jfiala (2017/08) @lukoyanov (2017/09) @cbornet (2017/09) @jeff9finger (2018/01) @karismann (2019/03) @Zomzog (2019/04) |
|
I think it would be better to configure it globally with a WebMvcConfigurer. |
|
LocalDate and LocalDatetime are java standards. OAS Generator output must work without additional code additions |
|
We can generate the configurer. The only drawback would be for people generating only the endpoints if they didn't use openapi-generator to bootstrap the project. So maybe the annotation is better for them. |
|
I am also in favor of the annotation |
|
@cbornet if you agree, I merge this PR |
|
@cbornet We exactly have this use case. We don't use the generator to bootstrap the application. We'd therefore very much appreciate the approach with the annotations. |
|
I approve of the annotation usage. I don't know that this is something you could configure globally, because OAS specifically defines the date formats as |
…arameter (OpenAPITools#3860) Adds the format annotation so that Spring is able to serialize OpenApi date/date-time format into LocalDate/OffsetDateTime.
* First version of Nim Client * Add some codes * Add some codes * Add some codes * Add some codes * Add some codes * First version of Nim Client * Add some codes * Add some codes * [Dart] Fix README template and update testing doco (#3809) * [Dart] Fix README template and update testing doco - deleted redundant shell script - fixed and updated README template - updated test package and moved to a dev_dependency - removed old unused dev_dependency packages - updated testing documentation in petstore sample * Remove references to dart-flutter-petstore.sh * Fix typos * Fix typo * Support custom git repository (#3757) * add gitHost param to GeneratorSettings and related * parameterize gitHost in READMEs * parameterize gitHost in go.mod * parameterize gitHost in git_push * update petstore samples * run ./bin/utils/export_docs_generators.sh * run meta-codehen.sh * Revert "run meta-codehen.sh" This reverts commit d6d579f. * Revert "run ./bin/utils/export_docs_generators.sh" This reverts commit 1b81538. * Revert "update petstore samples" This reverts commit f513add. * run ensure-up-to-date * Add links to article and video (#3820) * Better Go code format (#3819) * better varible naming * better comments * better code format for go experimental client * better comment, update samples * Add some codes * Add some codes * Add some codes * Add gRPC Protobuf schema generator (#3818) * add grpc protobuf generator * update doc * add new doc * add windows batch, comment out root proto * 1792 fix remote spec handling and hash calculation (#3440) * fixed bug where nullApi.java would be generated. Instead, generated DefaultApi.java to match the default path /{pathParam} (#3821) * Revert "1792 fix remote spec handling and hash calculation (#3440)" This reverts commit 2a2eefe. * Add nickmeinhold to Dart technical committee (#3830) * Bug #2845 typescript angular inheritance (#3812) * issue #2845: enable 'supportsMultipleInheritance' on typescript angular client codegen - note I reran ./bin/openapi3/typescript-angular-petstore-all.sh and no changes occurred. this suggests to me that the petstore.yaml sample should be improved to make use of the anyOf / allOf / oneOf keywords, in order to better show the effects of changes on generated code. * issue #2845: run ./bin/openapi3/typescript-angular-petstore-all.sh * run `mvn clean package && ./bin/typescript-angular-petstore-all.sh` * revert extranous files * fix warnings in csharp-netcore client (#3831) * Add missing files to the form request (#3834) * [client][go] avoid duplicated reflect imports (#3847) * Following up for #3440 (1792 fix remote spec handling and hash calculation) (#3826) * This patch fixes the bug that we cannot access to remote files when checking file updates. Following up #3440, supporting auth. * 1792 fix remote spec handling and hash calculation (#3440) (cherry picked from commit 2a2eefe) * fix detecting remote file / local file logic while finding the hash file, taking care of IllegalArgumentException for local files. * add testcase * Add a link (#3850) * Add Element AI to the list (#3856) * maven-plugin-plugin 3.6.0 (#3854) * [Java][okhttp-gson] fix failure to deserialize floats (#3846) * fixed bug where nullApi.java would be generated. Instead, generated DefaultApi.java to match the default path /{pathParam} * fix to bug #3157 * update samples * Adds Http Info To Dart Api (#3851) * [C++][Pistache] Add missing setter for arrays (#3837) * [C++][Pistache] Add missing setter for arrays Fixes #3769 * [C++][Pistache] Update Petstore sample * typescript-inversify: improve check for required parameters, support multiple media types (#3849) * [typescript-inversify] Allow falsy parameters A required parameter to an api method must not be `null` or `undefined`. It can be any other falsy value, e.g. `""`, `0` or `false` though. This change makes sure an error is only thrown in the former case and not in the latter. * [typescript-inversify] Handle multiple media types The Accept and Content-Type HTTP headers can contain a list of media types. Previously all but the first media type in the api definition were ignored. Now the headers are properly generated. * [typescript-inversify] Fix http client interface The api service methods allow the `body` parameter to be optional. The parameter is then passed to an `IHttpClient`. So it needs to be optional there as well. Also fixed the sample implementation `HttpClient`. Fixes #3618. * [typescript-inversify] Regenerate Petstore sample * [typescript-inversify] Use more explicit null check This does not change the semantic of the generated code, but makes it more explicit. Co-Authored-By: Esteban Gehring <esteban.gehring@gmail.com> * [typescript-angular] allow empty string basePath (#3489) * [typescript-angular] Fixing #2731 - empty string basePath * typescript-angular: refactor base path configuration * typescript-angular: refactor base path configuration * Fix/r/serialization fix and minor 3xx resp fix (#3817) * fix(qlik): fix for minor serialization bug * fix(r): add petsore generated classes * fix(r): indendation fixes * typescript-axios: Fix baseoptions (#3866) * Fixed missing baseOptions of typescript-axios. The typescript-axios template was missing the baseOptions setting when building an API Configuration. Set it. * update sample. * re-generate typescript axios samples * Rename gRPC generator to "protobuf-schema" (#3864) * rename grpc generator to protobuf-schema * update doc * Prepare v4.1.2 release (#3873) * update samples * update date * fix version in readme * BugFix #2053 Spring Boot fails to parse LocalDate query parameter (#3860) Adds the format annotation so that Spring is able to serialize OpenApi date/date-time format into LocalDate/OffsetDateTime. * update doc, samples (#3875) * update stable release * Update the batch for Windows * Add a test snippet * Update ensure-up-to-date * Add Nim to README.md * Ran ensure-up-to-date to pass CircleCI tests
* master: (22 commits) various minor improvements to nim generator (#3883) Add Nim client code generator (#3879) updated google-api-client version from 1.23.0 to 1.30.2. Bugfix #3625 (#3882) typescript-fetch: fix missing comma in multiple imports (#3881) [scala][client] add Scala code generation test (#3859) typescript-node: Use HttpError class when rejecting promises (#3876) update stable release update doc, samples (#3875) BugFix #2053 Spring Boot fails to parse LocalDate query parameter (#3860) fix version in readme Prepare v4.1.2 release (#3873) Rename gRPC generator to "protobuf-schema" (#3864) typescript-axios: Fix baseoptions (#3866) Fix/r/serialization fix and minor 3xx resp fix (#3817) [typescript-angular] allow empty string basePath (#3489) typescript-inversify: improve check for required parameters, support multiple media types (#3849) [C++][Pistache] Add missing setter for arrays (#3837) Adds Http Info To Dart Api (#3851) [Java][okhttp-gson] fix failure to deserialize floats (#3846) maven-plugin-plugin 3.6.0 (#3854) ...
|
@peyerroger thanks for the PR, which has been included in the v4.1.3 release: https://twitter.com/oas_generator/status/1180123829626003456 |
adopted OpenAPITools#3860 for kotlin-spring
adopted OpenAPITools#3860 for kotlin-spring
Adds the format annotation so that Spring is able to serialize OpenApi date/date-time format into LocalDate/OffsetDateTime.
PR checklist
./bin/to update Petstore sample so that CIs can verify the change. (For instance, only need to run./bin/{LANG}-petstore.sh,./bin/openapi3/{LANG}-petstore.shif updating the {LANG} (e.g. php, ruby, python, etc) code generator or {LANG} client's mustache templates). Windows batch files can be found in.\bin\windows\. If contributing template-only or documentation-only changes which will change sample output, be sure to build the project first.master,4.1.x,5.0.x. Default:master.Description of the PR
Fixes #2053 Spring Boot fails to parse LocalDate query parameter
Adds the format annotation so that Spring is able to serialize OpenApi date/date-time format into LocalDate/OffsetDateTime.
Introduces a test to ensure that format annotation is correctly added.