Skip to content

Commit a563194

Browse files
authored
Merge pull request #285 from swagger-api/codegen-issue-8951
fixed $ref property reading issue.
2 parents a12d02e + 9555426 commit a563194

File tree

5 files changed

+27
-10
lines changed

5 files changed

+27
-10
lines changed

src/main/java/io/swagger/codegen/v3/generators/DefaultCodegenConfig.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.swagger.codegen.v3.generators;
22

3+
import com.fasterxml.jackson.core.JsonProcessingException;
34
import com.fasterxml.jackson.databind.JsonNode;
45
import com.github.jknack.handlebars.Handlebars;
56
import com.samskivert.mustache.Mustache;
@@ -2008,7 +2009,7 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation
20082009
}
20092010

20102011
if ("application/x-www-form-urlencoded".equalsIgnoreCase(contentType) || "multipart/form-data".equalsIgnoreCase(contentType)) {
2011-
final CodegenContent codegenContent = new CodegenContent();
2012+
final CodegenContent codegenContent = new CodegenContent(contentType);
20122013
codegenContent.getVendorExtensions().put(CodegenConstants.IS_FORM_EXT_NAME, Boolean.TRUE);
20132014

20142015
final Map<String, Schema> propertyMap = schema.getProperties();
@@ -2048,7 +2049,7 @@ public CodegenOperation fromOperation(String path, String httpMethod, Operation
20482049
}
20492050
}
20502051
foundSchemas.add(schema);
2051-
final CodegenContent codegenContent = new CodegenContent();
2052+
final CodegenContent codegenContent = new CodegenContent(contentType);
20522053
codegenContent.getParameters().add(bodyParam.copy());
20532054
codegenContents.add(codegenContent);
20542055
}
@@ -2475,6 +2476,8 @@ public CodegenParameter fromRequestBody(RequestBody body, String name, Schema sc
24752476
codegenParameter.required = body.getRequired() != null ? body.getRequired() : Boolean.FALSE;
24762477
codegenParameter.getVendorExtensions().put(CodegenConstants.IS_BODY_PARAM_EXT_NAME, Boolean.TRUE);
24772478

2479+
codegenParameter.jsonSchema = Json.pretty(body);
2480+
24782481
if (schema == null) {
24792482
schema = getSchemaFromBody(body);
24802483
}

src/main/resources/handlebars/htmlDocs2/index.mustache

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,8 @@
172172
<section id="api-{{baseName}}">
173173
<h1>{{baseName}}</h1>
174174
{{#operation}}
175+
{{#contents}}
176+
{{#@first}}
175177
<div id="api-{{baseName}}-{{nickname}}">
176178
<article id="api-{{baseName}}-{{nickname}}-0" data-group="User" data-name="{{nickname}}" data-version="0">
177179
<div class="pull-left">
@@ -342,11 +344,12 @@
342344
<script>
343345
$(document).ready(function() {
344346
var schemaWrapper = {{{jsonSchema}}};
345-
var schema = schemaWrapper.schema;
347+
var schema = schemaWrapper.content[{{contentType}}].schema;
346348
if (schema.$ref != null) {
347349
schema = defsParser.$refs.get(schema.$ref);
348350
} else {
349-
schemaWrapper.definitions = Object.assign({}, defs);
351+
schemaWrapper.components = {};
352+
schemaWrapper.components.schemas = Object.assign({}, defs);
350353
$RefParser.dereference(schemaWrapper).catch(function(err) {
351354
console.log(err);
352355
});
@@ -395,6 +398,8 @@
395398
</article>
396399
</div>
397400
<hr>
401+
{{/@first}}
402+
{{/contents}}
398403
{{/operation}}
399404
</section>
400405
{{/operations}}
@@ -434,7 +439,8 @@
434439
{{>js_webfontloader}}
435440
<script>
436441
var schemaWrapper = {};
437-
schemaWrapper.definitions = Object.assign({}, defs);
442+
schemaWrapper.components = {};
443+
schemaWrapper.components.schemas = Object.assign({}, defs);
438444
defsParser = new $RefParser();
439445
defsParser.dereference(schemaWrapper).catch(function(err) {
440446
console.log(err);

src/main/resources/handlebars/htmlDocs2/paramB.mustache

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
<script>
66
$(document).ready(function() {
77
var schemaWrapper = {{{jsonSchema}}};
8-
var schema = schemaWrapper.schema;
8+
var schema = schemaWrapper.content[{{contentType}}].schema;
99
if (schema.$ref != null) {
1010
schema = defsParser.$refs.get(schema.$ref);
1111
} else {
12-
schemaWrapper.definitions = Object.assign({}, defs);
12+
schemaWrapper.components = {};
13+
schemaWrapper.components.schemas = Object.assign({}, defs);
1314
$RefParser.dereference(schemaWrapper).catch(function(err) {
1415
console.log(err);
1516
});

src/main/resources/mustache/htmlDocs2/index.mustache

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,8 @@
172172
<section id="api-{{baseName}}">
173173
<h1>{{baseName}}</h1>
174174
{{#operation}}
175+
{{#contents}}
176+
{{#-first}}
175177
<div id="api-{{baseName}}-{{nickname}}">
176178
<article id="api-{{baseName}}-{{nickname}}-0" data-group="User" data-name="{{nickname}}" data-version="0">
177179
<div class="pull-left">
@@ -342,6 +344,7 @@
342344
<script>
343345
$(document).ready(function() {
344346
var schemaWrapper = {{{jsonSchema}}};
347+
var schema = schemaWrapper.content[{{contentType}}].schema;
345348
var schema = schemaWrapper.schema;
346349
if (schema.$ref != null) {
347350
schema = defsParser.$refs.get(schema.$ref);
@@ -395,6 +398,8 @@
395398
</article>
396399
</div>
397400
<hr>
401+
{{/-first}}
402+
{{/contents}}
398403
{{/operation}}
399404
</section>
400405
{{/operations}}
@@ -434,7 +439,8 @@
434439
{{>js_webfontloader}}
435440
<script>
436441
var schemaWrapper = {};
437-
schemaWrapper.definitions = defs;
442+
schemaWrapper.components = {};
443+
schemaWrapper.components.schemas = Object.assign({}, defs);
438444
defsParser = new $RefParser();
439445
defsParser.dereference(schemaWrapper).catch(function(err) {
440446
console.log(err);

src/main/resources/mustache/htmlDocs2/paramB.mustache

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@
55
<script>
66
$(document).ready(function() {
77
var schemaWrapper = {{{jsonSchema}}};
8-
var schema = schemaWrapper.schema;
8+
var schema = schemaWrapper.content[{{contentType}}].schema;
99
if (schema.$ref != null) {
1010
schema = defsParser.$refs.get(schema.$ref);
1111
} else {
12-
schemaWrapper.definitions = Object.assign({}, defs);
12+
schemaWrapper.components = {};
13+
schemaWrapper.components.schemas = Object.assign({}, defs);
1314
$RefParser.dereference(schemaWrapper).catch(function(err) {
1415
console.log(err);
1516
});

0 commit comments

Comments
 (0)