
io.javalin.plugin.openapi.ui.ReDocRenderer.kt Maven / Gradle / Ivy
The newest version!
package io.javalin.plugin.openapi.ui
import io.javalin.core.util.OptionalDependency
import io.javalin.core.util.Util
import io.javalin.http.Context
import io.javalin.http.Handler
import io.javalin.plugin.openapi.OpenApiOptions
import io.javalin.plugin.openapi.annotations.OpenApi
class ReDocOptions @JvmOverloads constructor(
path: String,
internal val optionsObject: RedocOptionsObject = RedocOptionsObject()
) : OpenApiUiOptions(path) {
override val defaultTitle = "ReDoc"
}
internal class ReDocRenderer(private val openApiOptions: OpenApiOptions) : Handler {
@OpenApi(ignore = true)
override fun handle(ctx: Context) {
val reDocOptions = openApiOptions.reDoc!!
val docsPath = openApiOptions.getFullDocumentationUrl(ctx)
ctx.html(createReDocHtml(ctx, docsPath, reDocOptions))
}
}
private fun createReDocHtml(ctx: Context, docsPath: String, redocOptions: ReDocOptions): String {
val publicBasePath = Util.getWebjarPublicPath(ctx, OptionalDependency.REDOC)
val options = redocOptions.optionsObject
return """
|
|
|
| ${redocOptions.createTitle()}
|
|
|
|
|
|
|
|
|
|
|
|
|
|""".trimMargin()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy