swagger中响应参数为Boolean或是integer如何设置响应描述信息

简介: 项目使用swagger进行文档信息展示,现在有一个招聘者企业用户信息校验接口,响应参数只会返回true或是false,如何在接口文档中响应参数栏目中添加对返回字段的描述信息(true:校验成功;false:校验失败)?

问题描述


   项目使用swagger进行文档信息展示,现在有一个招聘者企业用户信息校验接口,响应参数只会返回true或是false,如何在接口文档中响应参数栏目中添加对返回字段的描述信息(true:校验成功;false:校验失败)?

5a033a24c3449ea7e16170dd1409fe7d_48a0a37879d74ea19fd521a415bc6c55.png

   swagger中响应参数的描述信息都是通过实体类中@ApiModelProperty添加,但是如果返回的是一个Boolean或是其他非对象类型,是没有地方添加这个注解的.这里说一下自己总结的处理方案.


解决方案


   1.直接从方法描述注解 @ApiOperation中添加响应结果描述信息,只要能让前端明白返回的字段的含义即可.


@ApiOperation("招聘者企业用户信息校验(返回参数说明:true:校验成功;false:校验失败)")
    @GetMapping("/checkRecruitBusinessInfo")
    public ResultVo<Boolean> checkRecruitBusinessInfo(@Validated BusinessInfoDto businessInfoDto) throws Exception {
        Boolean businessInfoRight = newStoreService.checkRecruitBusinessInfo(businessInfoDto);
        return ResultVoUtil.success(businessInfoRight);
    }

接口文档显示如下:

c25ac809927eb2dc884dd3eba4530f7f_f03b8eab9c7b48dda74249692637f12d.png


2.自定义返回参数对象,标注返回字段信息.

自定义添加返回参数描述对象:


@ApiModel("招聘者企业用户信息校验返回参数信息")
@Data
public class ReturnInfo {
    @ApiModelProperty(value = "招聘者企业用户信息校验:true:校验成功;false:校验失败",dataType = "Boolean",example = "false")
    private Boolean businessInfoRight;
}


修改controller中返回对象信息:


@ApiOperation("招聘者企业用户信息校验")
    @GetMapping("/checkRecruitBusinessInfo")
    public ResultVo<ReturnInfo> checkRecruitBusinessInfo(@Validated BusinessInfoDto businessInfoDto) throws Exception {
        Boolean businessInfoRight = newStoreService.checkRecruitBusinessInfo(businessInfoDto);
        ReturnInfo returnInfo = new ReturnInfo();
        returnInfo.setBusinessInfoRight(businessInfoRight);
        return ResultVoUtil.success(returnInfo);
    }


修改之后的接口文档,标注出的地方已经显示字段的描述信息:

35706bfc9fee22977e55a1e3b31445a1_70b781db33204f8a9218acce5df92001.png

   实际开发中只要是前后端能清楚参数传递含义使用第一种方式就可以;但是对于像我这样的强迫症选手来说,不从响应参数中显示字段含义就感觉有问题,不过第二种方式确实有点多余,只是为了显示问题去创建对象确实不是很明智的方法.如果大家平常对于swagger这种场景有其他处理方式,欢迎评论区留言!


相关文章
|
前端开发 Java 程序员
如何在swagger2中配置header请求头等参数信息?(若不会,我便手把手教你)
如何在swagger2中配置header请求头等参数信息?(若不会,我便手把手教你)
4141 1
swagger3.0中,如何在@GetMapping中写多个参数,包括数组类型的参数
swagger3.0中,如何在@GetMapping中写多个参数,包括数组类型的参数
853 0
|
7月前
|
JSON API 数据处理
Swagger动态参数注解:使用@DynamicParameters实现JSON参数的灵活定义
总结起来,通过使用SpringFox提供给我们工具箱里面非常有力量但又不太显眼工具———即使面对复杂多变、非标准化数据格式也能轻松驾驭它们———从而大大增强我们系统与外界沟通交流能力同时也保证系统内部数据处理逻辑清晰明确易于维护升级.
429 10
springboot集成swagger2并分组全局设置Authorization
springboot集成swagger2并分组全局设置Authorization
725 0
|
JSON 数据格式
swagger参数注解,后台使用@RequestBody注解的实体类,但只需要传实体类中的一个属性
这样写的结果会是下面这个样子,导致出现两个参数,一个实体类传参类型是json格式,一个是注解中写的属性。
|
前端开发 Java Spring
实战篇:解决swagger和自定义参数解析器的功能冲突
实战篇:解决swagger和自定义参数解析器的功能冲突
1122 0
实战篇:解决swagger和自定义参数解析器的功能冲突
|
Java API
SpringBoot集成swagger2配置权限认证参数
SpringBoot集成swagger2配置权限认证参数
1689 0
SpringBoot集成swagger2配置权限认证参数
|
Java Spring
Spring Boot中使用Swagger2异常:Illegal DefaultValue 0 for parameter type integer
Spring Boot中使用Swagger2异常:Illegal DefaultValue 0 for parameter type integer
500 0