我正在升级到swagger 2.0,在我的模型的UI中,我希望字符串显示为“”。
现在模型架构看起来像
{
"Name": "string",
"Id": "string",
"Year": 0
}
我希望它看起来像
{
"Name": "",
"Id": "",
"Year": 0
}
有没有办法在swagger 2.0中设置它?
答案 0 :(得分:1)
它不可配置。这是显示的工作方式以及它如何告诉最终用户需要使用的值的类型。空字符串不会像明确表示字符串一样具有描述性。
如果你对它有强烈的兴趣,我们非常欢迎您修改代码以适合您的节点。代码随时可用,可以随意定制。
答案 1 :(得分:1)
要进行更改,我必须更新swagger-client file
我改变的行被评为//// BEGIN CUSTOM EDITS ///。这些更改使字符串显示为''而不是字符串和布尔值在模式中为false而不是true。
var schemaToJSON = function (schema, models, modelsToIgnore) {
var type = schema.type || 'object';
var model;
var output;
if (schema.example) {
output = schema.example;
} else if (_.isUndefined(schema.items) && _.isArray(schema.enum)) {
output = schema.enum[0];
}
if (_.isUndefined(output)) {
if (schema.$ref) {
model = models[helpers.simpleRef(schema.$ref)];
if (!_.isUndefined(model)) {
if (_.isUndefined(modelsToIgnore[model.name])) {
modelsToIgnore[model.name] = model;
output = schemaToJSON(model.definition, models, modelsToIgnore);
delete modelsToIgnore[model.name];
} else {
if (model.type === 'array') {
output = [];
} else {
output = {};
}
}
}
} else if (!_.isUndefined(schema.default)) {
output = schema.default;
} else if (type === 'date-time') {
output = new Date().toISOString();
} else if (type === 'date') {
output = new Date().toISOString().split('T')[0];
} else if (type === 'string') {
//// BEGIN CUSTOM EDITS ///
// Change default display
output = '';
// END CUSTOM EDITS
} else if (type === 'integer') {
output = 0;
} else if (type === 'long') {
output = 0;
} else if (type === 'float') {
output = 0.0;
} else if (type === 'double') {
output = 0.0;
} else if (type === 'boolean') {
//// BEGIN CUSTOM EDITS ///
// Change default display
output = false;
// END CUSTOM EDITS
} else if (type === 'number') {
output = 0.0;
} else if (type === 'object') {
output = {};