Swagger @ApiResponse 应该显示 ErrorObject 列表,即 List<MyErrorObject> ?这怎么可能?

Swagger @ApiResponse should show List of ErrorObject i.e List<MyErrorObject> ? How is this possible?

我使用的 swagger 版本如下,我的问题与@ApiResponse 注解有关

<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.9.2</version>
  <scope>compile</scope>
</dependency>
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.9.2</version>
  <scope>compile</scope>
</dependency>

当用户访问我的 api 时,如果用户提供无效的 details/input,我的应用程序将在用户输入中返回错误列表。 每个错误都被捕获在一个错误对象中

MyErrorObject 
{
  Date date;
  String errorCode;
  String errorMessage;
  //getters //setters
}

-所以我的应用程序响应 incase 无效用户输入将如下所示 -

[
    {
        "date": "2021-09-22",
        "errorCode": "6548",
        "errorMessage": "there are no booking available in selected city"
    },
    {
        "date": "2021-09-22",
        "errorCode": "2649",
        "errorMessage": "your age does not allow you to travel to this location"
    }
]

---现在回到我的问题 - 使用 swagger @ApiResponse 注释,我希望 api 用户知道响应格式。所以,我在下面尝试了

@ApiResponse(code = HttpURLConnection.HTTP_BAD_REQUEST,
          message = ErrorConstants.NotAllowed, response=List<MyErrorObject>.class)

但上面没有工作,我看到下面的编译时错误 -

Syntax error, insert "}" to complete MemberValueArrayInitializer

我试过了 - 其他组合也很像下面但运气不好 -

@ApiResponse(code = HttpURLConnection.HTTP_BAD_REQUEST,
          message = ErrorConstants.NotAllowed, response=List<MyErrorObject.class>)

那么,使用@ApiResponse 注释表示错误列表的正确方法是什么? 所以 swagger doc 上的错误响应如下所示 -

[
 {
  "date": "Date",
  "errorCode": "string",
  "errorMessage": "string"
 }
]

根据 ApiResponse.class, it's evident they have a responseContianer 属性的定义,您可以设置该属性以获得所需的结果。

@ApiResponse(
    code = HttpURLConnection.HTTP_BAD_REQUEST,
    message = ErrorConstants.NotAllowed, 
    response = MyErrorObject.class,
    responseContainer = "List"
)