我们有一个使用Swagger注释注释的Jersey REST-API
swagger UI适用于一个类的例外。此类扩展ArrayList<T>
。而且我希望这个类由swagger作为数组来处理。但这种情况并非如此。它像任何其他复杂对象一样处理,其公共成员以swagger-ui显示。
这是我班级的代码摘要:
@JsonAutoDetect(getterVisibility = Visibility.NONE, fieldVisibility = Visibility.NONE, isGetterVisibility = Visibility.NONE, setterVisibility = Visibility.NONE)
public class ArraySubClass extends ArrayList<ElementClass> implements IAnInterface {
// constructors...
public A getA() {
// ...
}
}
Swagger将此类显示为模型对象:
"ArraySubClass": {
"id": "ArraySubClass",
"description": "",
"properties": {
"a": {
"$ref": "A"
},
"empty": {
"type": "boolean"
},
"size": {
"type": "integer",
"format": "int32"
}
}
}
我能做什么,以便swagger 处理类(从ArrayList<T>
扩展)作为数组,并且swagger只显示其元素而不是其他房产?
答案 0 :(得分:1)
你可以直接在swagger中使用ElementClass类,因为这个
@ApiOperation(value = "/yourEndPoint", notes = "comment for endpoint", response = ElementClass.class, responseContainer = "List")
因此,您将在返回时将您的类的内容显示为列表,而不是您的ArraySubClass,其中可能包含您要隐藏的其他数据/内容! :)
有关详情,请参阅response container