我使用的招摇版本如下,我的问题与 @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 并且用户提供了无效的详细信息/输入时,我的应用程序将返回用户输入中的错误列表。每个错误都被捕获在一个错误对象中
MyErrorObject
{
Date date;
String errorCode;
String errorMessage;
//getters //setters
}
- 所以如果用户输入无效,我的应用程序响应将如下所示 -
[
{
"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)
但是上面没有用,我看到下面的编译时错误 -
语法错误,插入“}”完成 MemberValueArrayInitializer
我试过 - 其他组合也像下面但没有运气 -
@ApiResponse(code = HttpURLConnection.HTTP_BAD_REQUEST,
message = ErrorConstants.NotAllowed, response=List<MyErrorObject.class>)
那么,使用 @ApiResponse 注释表示错误列表的正确方法是什么? 因此,swagger doc 上的错误响应如下所示 -
[
{
"date": "Date",
"errorCode": "string",
"errorMessage": "string"
}
]