From d8790d92773e2888795ca03a93ba1bc957c616a5 Mon Sep 17 00:00:00 2001 From: degath Date: Fri, 20 Mar 2020 11:51:16 +0100 Subject: [PATCH 1/5] 1441 fix visibility of body/response schemas --- html2_v2.json | 5 + .../openapitools/codegen/DefaultCodegen.java | 7 + .../main/resources/htmlDocs2/index.mustache | 33 +- .../main/resources/htmlDocs2/paramB.mustache | 5 +- swagger.yaml | 3221 +++++++++++++++++ 5 files changed, 3267 insertions(+), 4 deletions(-) create mode 100644 html2_v2.json create mode 100644 swagger.yaml diff --git a/html2_v2.json b/html2_v2.json new file mode 100644 index 000000000000..724d20e26472 --- /dev/null +++ b/html2_v2.json @@ -0,0 +1,5 @@ +{ + "packageName": "iot", + "packageVersion": "1.2.0", + "usePromises": true +} \ No newline at end of file diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java index 2e5f4f405366..5c484914b17a 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/DefaultCodegen.java @@ -5482,6 +5482,8 @@ public CodegenParameter fromRequestBody(RequestBody body, Set imports, S setParameterNullable(codegenParameter, codegenProperty); } + addJsonSchemaForBodyRequestInCaseItsNotPresent(codegenParameter, body); + // set the parameter's example value // should be overridden by lang codegen setParameterExampleValue(codegenParameter, body); @@ -5489,6 +5491,11 @@ public CodegenParameter fromRequestBody(RequestBody body, Set imports, S return codegenParameter; } + private void addJsonSchemaForBodyRequestInCaseItsNotPresent(CodegenParameter codegenParameter, RequestBody body){ + if(codegenParameter.jsonSchema == null) + codegenParameter.jsonSchema = Json.pretty(body); + } + protected void addOption(String key, String description, String defaultValue) { CliOption option = new CliOption(key, description); if (defaultValue != null) diff --git a/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache b/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache index 1cb04a58a9f9..4d39e6c014dd 100644 --- a/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache +++ b/modules/openapi-generator/src/main/resources/htmlDocs2/index.mustache @@ -101,6 +101,31 @@ //Convert elements with "marked" class to markdown processMarked(); }); + + function findNode(id, currentNode) { + return (Object.keys(currentNode)[0] === id) ? currentNode : findNodeInChildren(id, currentNode); + } + + function findNodeInChildren(id, currentNode) { + for (let prop in currentNode) { + if (currentNode.hasOwnProperty(prop)) { + let currentChild = currentNode[prop]; + if (id === prop) { + return currentChild; + } else { + // Search in the current child + if (typeof (currentChild) === 'object') { + let result = findNode(id, currentChild); + if (result !== false) { + return result; + } + } + } + } + } + return false; + } +