以前,我有如下的Spring控制器。
@RequestMapping(method = GET)
public List<TheResponse> getResponses(
@RequestParam(defaultValue = "1") int offset,
@RequestParam(defaultValue = "10") int limit) {
Pagination pagination = new Pagination(offset, limit);
...
return someResponse;
}
Swagger正在使用正确的参数信息生成此方法的文档。
稍后我通过实施PaginationArgResolver
创建了HandlerMethodArgumentResolver
。之后,我必须更新下面的方法,并应用@ApiImplicitParams
使其与Swagger一起使用。
@ApiImplicitParams({
@ApiImplicitParam(name = "offset", dataType = "int", defaultValue = "1"),
@ApiImplicitParam(name = "limit", dataType = "int", defaultValue = "10")
})
@RequestMapping(method = GET)
public List<TheResponse> getResponses(@ApiIgnore Pagination pagination) {
...
}
无论何时,只要找到@ImplicitParams
类型参数,就会自动应用Pagination
OR
如果我公开@PaginationSupported
注释,我可以处理它以获得相同的结果吗?
我目前正在使用springfox v2.4.0。
PS。我可以编辑Pagination
类的源代码,以防需要一些招摇注释。
答案 0 :(得分:2)
为什么添加@ApiIgnore
springfox会自动解析类中的这些属性。如果要添加默认值和其他内容,可以将@ApiParam
注释添加到类属性中。
class Pagination {
@ApiParam(defaultValue = "1")
private int offset;
// [..]
}