preservation, proper parsing of examples

This commit is contained in:
Tony Tam
2016-11-23 16:30:49 -08:00
parent 5d75d7d7af
commit 7e426ac0cd
4 changed files with 48 additions and 16 deletions

32
dist/swagger-ui.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -83,7 +83,7 @@ SwaggerUi.Views.OperationView = Backbone.View.extend({
}, },
// Note: copied from CoffeeScript compiled file // Note: copied from CoffeeScript compiled file
// TODO: redactor // TODO: refactor
render: function() { render: function() {
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; 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;
isMethodSubmissionSupported = jQuery.inArray(this.model.method, this.model.supportedSubmitMethods()) >= 0; isMethodSubmissionSupported = jQuery.inArray(this.model.method, this.model.supportedSubmitMethods()) >= 0;

View File

@@ -553,14 +553,30 @@ SwaggerUi.partials.signature = (function () {
modelsToIgnore[value.name] = value; modelsToIgnore[value.name] = value;
// Response support // Response support
if (value.examples && _.isPlainObject(value.examples) && value.examples['application/json']) { if (value.examples && _.isPlainObject(value.examples)) {
value.definition.example = value.examples['application/json']; value = _.cloneDeep(value);
var keys = Object.keys(value.examples);
if (_.isString(value.definition.example)) { _.forEach(keys, function(key) {
value.definition.example = jsyaml.safeLoad(value.definition.example); if(key.indexOf('application/json') === 0) {
var example = value.examples[key];
if (_.isString(example)) {
example = jsyaml.safeLoad(example);
}
value.definition.example = example;
return schemaToJSON(value.definition, example, modelsToIgnore, value.modelPropertyMacro);
}
});
}
if (value.examples) {
value = _.cloneDeep(value);
var example = value.examples;
if (_.isString(example)) {
example = jsyaml.safeLoad(example);
} }
} else if (!value.definition.example) { value.definition.example = example;
value.definition.example = value.examples; return schemaToJSON(value.definition, example, modelsToIgnore, value.modelPropertyMacro);
} }
return schemaToJSON(value.definition, value.models, modelsToIgnore, value.modelPropertyMacro); return schemaToJSON(value.definition, value.models, modelsToIgnore, value.modelPropertyMacro);