* [kotlin-spring] Generate @Valid annotation on all RequestParts/Params for Multipart requests when useBeanValidation=true
* [kotlin-spring] Fix failing test
The test was failing because of the newly added @Valid and an assert which is not correct anymore.
* replace removed forkMode
* remove junit runner where it's not needed
* update samples without skipping test files, but skip files named "FILES"
* revert overwriting custom tests, add custom java tests to list
* add one sample to CircleCI, fix various Java tests
* [kotlin-spring] Fix no List being used for an array of files using multipart/form-data
* [kotlin-spring] Use Spring's MultipartFile class for incoming Files instead of Spring's Resource class.
* [kotlin-spring] Add test to ensure that return type for files is `org.springframework.core.io.Resource`
* [kotlin-spring] Ensure Array is used for lists of files in generated Api class
* Update samples
* [kotlin-spring] Move conditional usage of MultipartFile to optionalDataType.mustache. Update samples
* update samples
---------
Co-authored-by: William Cheng <wing328hk@gmail.com>
* [kotlin-spring] Parameter Name and Description are now used properly in multipart form endpoints
* [kotlin-spring] Parameter Name and Description are now used properly in multipart form endpoints (generated docs and samples)
* [kotlin-spring] Parameter Name and Description are now used properly in multipart form endpoints (generated docs and samples)
---------
Co-authored-by: Kevin Hahn <kevin.hahn@partner.ionity.eu>
* Update generatedAnnotation.mustache
Without this, it generates a jakarta annotation in the controllers of a spring boot 2 project.
* Updated examples
* [Kotlin-Spring] Support multiline descriptions
This commit adds support for multiline descriptions for operations in
the Kotlin-Spring generator, for both regular API generation (i.e.
Controller), as well as interface-only API generation.
Multiline descriptions allow us to use rich text representations, e.g.
with Markdown. Note that Markdown-formatted descriptions are rendered
nicely in Swagger-UI. I imagine that most openapi consumers will be able
(or will want to) support Markdown (at some point).
The solution for Kotlin-Spring is rather simple, using Raw Strings to
contain the `unescapedNotes`.
See: https://kotlinlang.org/docs/strings.html#raw-strings
Note that specific unescaped strings could cause problems. For example,
the string containing three double quotes `"""` would result in compile
errors for the generated code. I think this is acceptable.
Note that an improvement is possible to use `.trimMargin()` in
combination with the pipe symbol `|`, to allow specific margin
prefixing.
Note that the description is used in escaped form in the JavaDoc. This
could be resolved by prefixing every line of the unescapedNotes with a
star `*`.
For now, I've chosen to implement this the simplest way I could think
off.
Signed-off-by: Nico Korthout <nico.korthout@camunda.com>
* [Kotlin-Spring] Update samples
Signed-off-by: Nico Korthout <nico.korthout@camunda.com>
---------
Signed-off-by: Nico Korthout <nico.korthout@camunda.com>
* [Kotlin] add spring boot 3 & jakarta extension support
* [kotlin-spring] readme update & modified imports
* use latest Spring Boot starter parent
* use same options as in [Java] generator
* new config kotlin-spring-boot-3
---------
Co-authored-by: jayandran sampath <jayandran.sampath@opencastsoftware.com>
* Adding DocumentationProvider and SwaggerUI to Kotlin Spring
* Fixing annotation errors
* Fixes to homeController
* Minor stylistic fixes
* Removing parameter from docs
* Structuring pom, making gradle file similar to pom
* Updating samples
* add missing import, better code format for kotlin generators
* update kotlin workflow
* more kotlin tests
* better code format
* separate kotlin client, server teets
* comment out tests
* fix default value generation for kotlin
* add updated pet templates
* Revert "add updated pet templates"
This reverts commit 7e8168ad
* regen pet store projects code
* add Deprecated in kotlin dataClass
* add deprecated in CodegenProperty
* format (Column limit: 100)
* set property.deprecated
* add test
* run ./bin/kotlin-springboot-petstore-all.sh
* trim space