解决swagger/Springfox 3.0文档中响应示例中不显示具体内容的问题

2024-08-21 211点热度 0人点赞 0条评论

开发过程过,发现使用swagger自动生成的文档中,不显示返回值的具体示例,代码如下:

@PostMapping(value = "list")
@ApiResponses({
        @ApiResponse(code=200, message = "操作成功")
})
@ApiOperation(value = "会员列表", response = GzMember.class)
public R<List<GzMember>> list() {
    return R.ok(gzMemberService.listMembers());
}

查看文档,相应示例中,只有一个object,没有这个object里面的List,更没有这个List里面关于GzMember的说明,这给前端带来不便。

网上有说,在application.yml 或者properties里面,增加:

springfox:
  documentation:
    swagger:
      v2:
        use-model-v3: false

我实验下来无效,经过查找,解决办法如下(@PostMapping或者@GetMapping或者@RequestMapping增加, produces = {"application/json"},或者是, produces= MediaType.APPLICATION_JSON_VALUE)

@PostMapping(value = "list", produces = "application/json")
@ApiResponses({
        @ApiResponse(code=200,message = "操作成功")
})
@ApiOperation(value = "会员列表", response = GzMember.class)
public R<List<GzMember>> list() {
    return R.ok(gzMemberService.listMembers());
}

参考:https://github.com/springfox/springfox/issues/3503

admin

这个人很懒,什么都没留下

文章评论

您需要 登录 之后才可以评论