added parameter schemas
This commit is contained in:
@ -1,6 +1,5 @@
|
||||
package org.leafygreens.kompendium
|
||||
|
||||
import java.net.URI
|
||||
import org.leafygreens.kompendium.models.OpenApiSpec
|
||||
|
||||
class Kompendium {
|
||||
|
@ -0,0 +1,14 @@
|
||||
package org.leafygreens.kompendium.models
|
||||
|
||||
sealed class OpenApiSpecParameterSchema(
|
||||
val type: String,
|
||||
)
|
||||
|
||||
data class OpenApiSpecParameterSchemaArray<T: OpenApiSpecParameterSchema >(
|
||||
val items: T
|
||||
) : OpenApiSpecParameterSchema("array")
|
||||
|
||||
data class OpenApiSpecParameterSchemaString(
|
||||
val default: String,
|
||||
val `enum`: Set<String>? = null
|
||||
) : OpenApiSpecParameterSchema("string")
|
@ -27,7 +27,10 @@ data class OpenApiSpecParameter(
|
||||
val description: String?,
|
||||
val required: Boolean = true,
|
||||
val deprecated: Boolean = false,
|
||||
val allowEmptyValue: Boolean = false
|
||||
val allowEmptyValue: Boolean = false,
|
||||
val style: String? = null,
|
||||
val explode: Boolean? = false,
|
||||
val schema: OpenApiSpecParameterSchema? = null
|
||||
) : OpenApiSpecReferencable()
|
||||
|
||||
data class OpenApiSpecRequest(
|
||||
|
@ -8,6 +8,9 @@ import org.leafygreens.kompendium.models.OpenApiSpecInfo
|
||||
import org.leafygreens.kompendium.models.OpenApiSpecInfoContact
|
||||
import org.leafygreens.kompendium.models.OpenApiSpecInfoLicense
|
||||
import org.leafygreens.kompendium.models.OpenApiSpecMediaType
|
||||
import org.leafygreens.kompendium.models.OpenApiSpecParameter
|
||||
import org.leafygreens.kompendium.models.OpenApiSpecParameterSchemaArray
|
||||
import org.leafygreens.kompendium.models.OpenApiSpecParameterSchemaString
|
||||
import org.leafygreens.kompendium.models.OpenApiSpecPathItem
|
||||
import org.leafygreens.kompendium.models.OpenApiSpecPathItemOperation
|
||||
import org.leafygreens.kompendium.models.OpenApiSpecReferenceObject
|
||||
@ -139,6 +142,30 @@ object TestData {
|
||||
),
|
||||
`x-codegen-request-body-name` = "body"
|
||||
)
|
||||
),
|
||||
"/pet/findByStatus" to OpenApiSpecPathItem(
|
||||
get = OpenApiSpecPathItemOperation(
|
||||
tags = setOf("pet"),
|
||||
summary = "Find Pets by status",
|
||||
description = "Multiple status values can be provided with comma separated strings",
|
||||
operationId = "findPetsByStatus",
|
||||
parameters = listOf(
|
||||
OpenApiSpecParameter(
|
||||
name = "status",
|
||||
`in` = "query",
|
||||
description = "Status values that need to be considered for filter",
|
||||
required = true,
|
||||
style = "form",
|
||||
explode = true,
|
||||
schema = OpenApiSpecParameterSchemaArray(
|
||||
items = OpenApiSpecParameterSchemaString(
|
||||
default = "available",
|
||||
`enum` = setOf("available", "pending", "sold")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
@ -93,6 +93,33 @@
|
||||
} ],
|
||||
"x-codegen-request-body-name" : "body"
|
||||
}
|
||||
},
|
||||
"/pet/findByStatus" : {
|
||||
"get" : {
|
||||
"tags" : [ "pet" ],
|
||||
"summary" : "Find Pets by status",
|
||||
"description" : "Multiple status values can be provided with comma separated strings",
|
||||
"operationId" : "findPetsByStatus",
|
||||
"parameters" : [ {
|
||||
"name" : "status",
|
||||
"in" : "query",
|
||||
"description" : "Status values that need to be considered for filter",
|
||||
"required" : true,
|
||||
"deprecated" : false,
|
||||
"allowEmptyValue" : false,
|
||||
"style" : "form",
|
||||
"explode" : true,
|
||||
"schema" : {
|
||||
"items" : {
|
||||
"default" : "available",
|
||||
"enum" : [ "available", "pending", "sold" ],
|
||||
"type" : "string"
|
||||
},
|
||||
"type" : "array"
|
||||
}
|
||||
} ],
|
||||
"deprecated" : false
|
||||
}
|
||||
}
|
||||
},
|
||||
"security" : { },
|
||||
|
Reference in New Issue
Block a user