我想大方地展示一下响应,这是一个通用类。但是它不会采用响应的类的类型。
@ApiOperation(value = "Get user name", response = ResponseWrapper.class)
// but I want to pass
@ApiOperation(value = "Get user name", response = ResponseWrapper<UserModel>.class)
// here I am getting error
// how can I pass ResponseWrapper<UserModel>.class in the response variable
// In swagger response example body will be shown like :
/*
{
"errors": [
{
"errorCode": "string",
"message": "string"
}
],
"id": "string",
"metadata": {},
"response": {},
"responsetime": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
"version": "string"
}
But I want my response example body like this :
{
"errors": [
{
"errorCode": "string",
"message": "string"
}
],
"id": "string",
"metadata": {},
"response": {
"userName" : "string"
},
"responsetime": "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'",
"version": "string"
}
*/
示例代码没有通用类型的ResponseWrapper,但是我想传递通用类型的Response包装器。
答案 0 :(得分:0)
到目前为止,我发现的唯一方法是创建一个显式类型的类,以实现/扩展您的泛型:
public class UserResponse extends ResponseWrapper<UserModel>{
}
这允许您做
@ApiOperation(value = "Get user name", response = UserResponse .class)
答案 1 :(得分:0)
我已经阅读了文档。 无法,我们无法将通用的“类型”类传递给 @ApiOperation的参数,即“响应” 。
对于我来说,我返回的是 ResponseEntity ,但是在建议的帮助下,我希望获得 ResponseEntity 并将其映射到 ResponseWrapper 类
但是我需要在Swagger UI中向用户显示响应示例是 ResponseWrapper 对象。因此,我想在 @ApiOperation“ response” 变量中为ResponseWrapper类提供类型。
为此,我必须将返回类型从 ResponseEntity 更改为 ResponseWrapper 。否则没有办法。如果您的回复类似于 ResponseWrapper> ,则类型解析器就会出现。