Skip to content

Commit 7e426ac

Browse files
committed
preservation, proper parsing of examples
1 parent 5d75d7d commit 7e426ac

File tree

4 files changed

+48
-16
lines changed

4 files changed

+48
-16
lines changed

dist/swagger-ui.js

Lines changed: 24 additions & 8 deletions
Large diffs are not rendered by default.

dist/swagger-ui.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/javascript/view/OperationView.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ SwaggerUi.Views.OperationView = Backbone.View.extend({
8383
},
8484

8585
// Note: copied from CoffeeScript compiled file
86-
// TODO: redactor
86+
// TODO: refactor
8787
render: function() {
8888
var a, auth, auths, code, contentTypeModel, isMethodSubmissionSupported, k, key, l, len, len1, len2, len3, len4, m, modelAuths, n, o, p, param, q, ref, ref1, ref2, ref3, ref4, ref5, responseContentTypeView, responseSignatureView, schema, schemaObj, scopeIndex, signatureModel, statusCode, successResponse, type, v, value, produces, isXML, isJSON;
8989
isMethodSubmissionSupported = jQuery.inArray(this.model.method, this.model.supportedSubmitMethods()) >= 0;

src/main/javascript/view/partials/signature.js

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -553,14 +553,30 @@ SwaggerUi.partials.signature = (function () {
553553
modelsToIgnore[value.name] = value;
554554

555555
// Response support
556-
if (value.examples && _.isPlainObject(value.examples) && value.examples['application/json']) {
557-
value.definition.example = value.examples['application/json'];
556+
if (value.examples && _.isPlainObject(value.examples)) {
557+
value = _.cloneDeep(value);
558+
var keys = Object.keys(value.examples);
559+
560+
_.forEach(keys, function(key) {
561+
if(key.indexOf('application/json') === 0) {
562+
var example = value.examples[key];
563+
if (_.isString(example)) {
564+
example = jsyaml.safeLoad(example);
565+
}
566+
value.definition.example = example;
567+
return schemaToJSON(value.definition, example, modelsToIgnore, value.modelPropertyMacro);
568+
}
569+
});
570+
}
558571

559-
if (_.isString(value.definition.example)) {
560-
value.definition.example = jsyaml.safeLoad(value.definition.example);
572+
if (value.examples) {
573+
value = _.cloneDeep(value);
574+
var example = value.examples;
575+
if (_.isString(example)) {
576+
example = jsyaml.safeLoad(example);
561577
}
562-
} else if (!value.definition.example) {
563-
value.definition.example = value.examples;
578+
value.definition.example = example;
579+
return schemaToJSON(value.definition, example, modelsToIgnore, value.modelPropertyMacro);
564580
}
565581

566582
return schemaToJSON(value.definition, value.models, modelsToIgnore, value.modelPropertyMacro);

0 commit comments

Comments
 (0)