Skip to content

Commit f5a7d23

Browse files
committed
GH-237 Properly handle non-existing info objects from empty schemas (Fix #237)
1 parent 51d813f commit f5a7d23

File tree

2 files changed

+7
-2
lines changed
  • examples/javalin-gradle-kotlin/src/main/java/io/javalin/openapi/plugin/test
  • javalin-plugins/javalin-openapi-plugin/src/main/kotlin/io/javalin/openapi/plugin

2 files changed

+7
-2
lines changed

examples/javalin-gradle-kotlin/src/main/java/io/javalin/openapi/plugin/test/JavalinTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ public static void main(String[] args) {
9292
.withScope("write_pets")
9393
.withScope("read_pets")
9494
)
95+
.withGlobalSecurity("BearerAuth")
9596
)
9697
.withDefinitionProcessor(content -> { // you can add whatever you want to this document using your favourite json api
9798
content.set("test", new TextNode("Value"));

javalin-plugins/javalin-openapi-plugin/src/main/kotlin/io/javalin/openapi/plugin/OpenApiPlugin.kt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,12 @@ open class OpenApiPlugin(userConfig: Consumer<OpenApiPluginConfiguration>) : Plu
4747
val docsNode = jsonMapper.readTree(content) as ObjectNode
4848

4949
//process OpenAPI "info"
50-
val currentInfo = jsonMapper.readerForUpdating(docsNode.get("info"))
51-
docsNode.replace("info", currentInfo.readValue(jsonMapper.convertValue(info, JsonNode::class.java)))
50+
val updatedInfo =
51+
docsNode.get("info")
52+
?.let { jsonMapper.readerForUpdating(it) }
53+
?.readValue<JsonNode>(jsonMapper.convertValue(info, JsonNode::class.java))
54+
?: jsonMapper.convertValue(info, JsonNode::class.java)
55+
docsNode.replace("info", updatedInfo)
5256

5357
// process OpenAPI "servers"
5458
docsNode.replace("servers", jsonMapper.convertValue(servers, JsonNode::class.java))

0 commit comments

Comments
 (0)