SwaggerUI没有显示POST body参数中的集合模型模式

时间:2014-09-09 21:59:16

标签: swagger swagger-ui

我在2014年6月下载了SwaggerUI,我刚刚下载了dist文件夹,找出它的版本并不容易。

在这几个月里,我一直在使用Swagger来记录我使用Jersey构建的REST API,我发现UI没有在数据类型列中显示模型和模型模式,因为它们是集合中的集合体。我的情况是一个List,它只显示单词" array"。

enter image description here

似乎这个问题在较新版本中得到了解决,但我对代码进行了多次自定义,下载新版本对我来说不是一个选项。

我想知道应该修改哪些代码以使其工作。

1 个答案:

答案 0 :(得分:1)

我发现在我的swagger.js版本中需要更新的部分是:

SwaggerOperation = (function() {
...
for (_i = 0, _len = _ref1.length; _i < _len; _i++) {
parameter = _ref1[_i];
parameter.name = parameter.name || parameter.type || parameter.dataType;
type = parameter.type || parameter.dataType;

// ++++ Add this:
if(type === 'array') {
type = 'array[' + parameter.items.$ref + ']';
}
// ++++

if (type.toLowerCase() === 'boolean') {
parameter.allowableValues = {};
parameter.allowableValues.values = ["true", "false"];
}
...

之后,参数视图如下所示:

enter image description here

我在SwaggerUI github项目问题跟踪器中发布了相同的结果:https://github.com/wordnik/swagger-ui/issues/400