Swagger @ApiOperation 可以允许在 Java 中指定一个列表吗?

use*_*541 7 java swagger swagger-ui

我在 Java 类中有一个方法,其签名如下所示,我想为它添加 Swagger Rest 文档。

public List<List<MyCustomClass>> getMyCustomClasses(String id){
//
}
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法让 response 或 responseContainer 返回 List 对象列表?像下面这样的?

@ApiOperation(value = "find MyCustomClass objects by id", response =MyCustomClass.class , responseContainer =   "List<List>")
Run Code Online (Sandbox Code Playgroud)

如果方法的响应只是 List ,我可以在其中指定 response =MyCustomClass.class , responseContainer = "List" 但只有在 List of List 作为返回类型时才会出现问题,我在生成 swagger 文档时没有问题。

谢谢

拉维

moh*_*oha -1

为此,您可以简单地创建一个模板类,如下所示:

public class TempClass {
   private List<someClass> listOfClass;
   public List<someClass> getListOfClass() {
      return listOfClass;
   }
   public void setListOfClass(List<someClass> listOfClass) {
      this.listOfClass = listOfClass;
   }
}
Run Code Online (Sandbox Code Playgroud)

甚至更复杂,像这样:

public class TempClass {
   private List<List<List<someClass>>> listOfList;
   public List<List<List<someClass>>> getListOfList(){ 
      return listOfList;
   }
   public void setListOfList(List<List<List<someClass>>> listOfList) {
      this.listOfList = listOfList;
   }
}
Run Code Online (Sandbox Code Playgroud)

最后获取此类作为对方法上方注释的响应,如下所示:

@ApiOperation(response = TempClass.class)
Run Code Online (Sandbox Code Playgroud)

您还应该将该方法的返回类型指定为 TempClass

还有另一个问题在这里讨论了同一问题