mirror of
https://github.com/OpenAPITools/openapi-generator.git
synced 2025-12-20 14:37:10 +00:00
[kotlin-spring][server] Feat: Allow implementation of arbitrary interface in DTOs (similar to x-implements from java-spring) (#21950)
* add basic implementation and tests * improve test a bit * modify kotlin-spring.md * add x-kotlin-implements also to enum * update samples & properly define implemented vendor extension * use enum.getName() instead of hardcoded string as key in vendor extension map * fix docs * fix test openapi spec and test * add samples for x-kotlin-implements * add samples for x-kotlin-implements to proper output folder * fix * revert unwanted changes * move to correct place * fix mustache template * add to samples-kotlin-server.yaml * reuse 1 open api schema for everything. Add also case where interface extends interface. * add warn logs when x-kotlin-implements-fields is used without x-kotlin-implements to improve usability * remove unnecessary generated files * remove unnecessary generated files * remove "status" inner enum from Pet as it fails to properly import as Pet.Status in implementations. This is a separate bug - not caused by x-kotlin-implements
This commit is contained in:
@@ -27,7 +27,7 @@ data class Category(
|
||||
@get:Pattern(regexp="^[a-zA-Z0-9]+[a-zA-Z0-9\\.\\-_]*[a-zA-Z0-9]+$")
|
||||
@Schema(example = "null", description = "")
|
||||
@get:JsonProperty("name") val name: kotlin.String? = null
|
||||
) {
|
||||
) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ data class ModelApiResponse(
|
||||
|
||||
@Schema(example = "null", description = "")
|
||||
@get:JsonProperty("message") val message: kotlin.String? = null
|
||||
) {
|
||||
) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ data class Order(
|
||||
|
||||
@Schema(example = "null", description = "")
|
||||
@get:JsonProperty("complete") val complete: kotlin.Boolean? = false
|
||||
) {
|
||||
) {
|
||||
|
||||
/**
|
||||
* Order Status
|
||||
|
||||
@@ -49,7 +49,7 @@ data class Pet(
|
||||
@Schema(example = "null", description = "pet status in the store")
|
||||
@Deprecated(message = "")
|
||||
@get:JsonProperty("status") val status: Pet.Status? = null
|
||||
) {
|
||||
) {
|
||||
|
||||
/**
|
||||
* pet status in the store
|
||||
|
||||
@@ -26,7 +26,7 @@ data class Tag(
|
||||
|
||||
@Schema(example = "null", description = "")
|
||||
@get:JsonProperty("name") val name: kotlin.String? = null
|
||||
) {
|
||||
) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ data class User(
|
||||
|
||||
@Schema(example = "null", description = "User Status")
|
||||
@get:JsonProperty("userStatus") val userStatus: kotlin.Int? = null
|
||||
) {
|
||||
) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user