fix: put info request body nullable

This commit is contained in:
Ryan Brink
2022-04-07 05:02:43 -07:00
parent 227e914b7b
commit ddbeb88929
4 changed files with 26 additions and 2 deletions

View File

@ -12,6 +12,10 @@
## Released
## [2.3.4] - April 7th, 2022
### Changed
- Put request body info now nullable
## [2.3.3] - April 1st, 2022
### Added
- Added tests for Swagger UI module that verify that plugin generates correct responses for Swagger UI WEB resources (tests should detect future incompatible changes in new versions of `org.webjars.swagger-ui`)

View File

@ -1,5 +1,5 @@
# Kompendium
project.version=2.3.3
project.version=2.3.4
# Kotlin
kotlin.code.style=official
# Gradle

View File

@ -6,7 +6,7 @@ import io.bkbn.kompendium.core.metadata.RequestInfo
import io.bkbn.kompendium.core.metadata.ResponseInfo
data class PutInfo<TParam, TReq, TResp>(
val requestInfo: RequestInfo<TReq>,
val requestInfo: RequestInfo<TReq>?,
override val responseInfo: ResponseInfo<TResp>,
override val summary: String,
override val description: String? = null,

View File

@ -9,11 +9,13 @@ import io.bkbn.kompendium.core.Kompendium
import io.bkbn.kompendium.core.Notarized.notarizedDelete
import io.bkbn.kompendium.core.Notarized.notarizedGet
import io.bkbn.kompendium.core.Notarized.notarizedPost
import io.bkbn.kompendium.core.Notarized.notarizedPut
import io.bkbn.kompendium.core.metadata.RequestInfo
import io.bkbn.kompendium.core.metadata.ResponseInfo
import io.bkbn.kompendium.core.metadata.method.DeleteInfo
import io.bkbn.kompendium.core.metadata.method.GetInfo
import io.bkbn.kompendium.core.metadata.method.PostInfo
import io.bkbn.kompendium.core.metadata.method.PutInfo
import io.bkbn.kompendium.core.routes.redoc
import io.bkbn.kompendium.core.routes.swagger
import io.bkbn.kompendium.oas.serialization.KompendiumSerializersModule
@ -24,6 +26,7 @@ import io.bkbn.kompendium.playground.BasicPlaygroundToC.simpleDeleteRequest
import io.bkbn.kompendium.playground.BasicPlaygroundToC.simpleGetExample
import io.bkbn.kompendium.playground.BasicPlaygroundToC.simpleGetExampleWithParameters
import io.bkbn.kompendium.playground.BasicPlaygroundToC.simplePostRequest
import io.bkbn.kompendium.playground.BasicPlaygroundToC.simplePutInfo
import io.bkbn.kompendium.playground.util.Util
import io.ktor.application.Application
import io.ktor.application.call
@ -99,6 +102,11 @@ private fun Application.mainModule() {
}
}
}
route("/update") {
notarizedPut(simplePutInfo) {
call.respond(HttpStatusCode.NoContent)
}
}
}
}
@ -154,6 +162,18 @@ object BasicPlaygroundToC {
tags = setOf("Simple")
)
val simplePutInfo = PutInfo<Unit, Unit, BasicResponse>(
summary = "Simple, Documented POST Request",
description = "Showcases how easy it is to document a post request!",
requestInfo = null,
responseInfo = ResponseInfo(
status = HttpStatusCode.OK,
description = "This means everything went as expected!",
examples = mapOf("demo" to BasicResponse(c = "So it is true!", null))
),
tags = setOf("Simple")
)
/**
* This showcases a DELETE request
*/