• swagger2配置详解


    1.写在controller上的注解

    1.1 @Api

    代码

    @Api(tags = "用户相关接口", description = "提供用户相关的 Rest API")
    
    public class UserController
    

    属性解析

    注解属性 类型 描述
    tags String[] 控制器标签。
    description String 控制器描述 (该字段被申明为过期)

    2.写在方法上的注解

    2.1 接口方法的描述

    @ApiOperation 主要属性

    代码
    @PostMapping(value = "/login")
        @ApiOperation(value = "登录接口",notes = "登录接口",httpMethod = "POST",responseContainer="登录成功,登录失败")
        @ApiResponses({
                @ApiResponse(code = 200, message = "请求成功"),
                @ApiResponse(code = 10000, message = "用户名验证码为空"),
                @ApiResponse(code = 10001, message = "验证码不正确"),
                @ApiResponse(code = 10002, message = "验证码已失效"),
                @ApiResponse(code = 10004, message = "登录错误次数超过五次"),
                @ApiResponse(code = 10005, message = "用户名或密码错误"),
                @ApiResponse(code = 10006, message = "账号被冻结,请联系管理员")
        })
        public  ResponseEntity<Message<SystemAccountBean>> login(@RequestBody SystemAccountBeanVO systemAccountBean, HttpServletRequest request) {
    
            return ResponseEntity.ok(new Message(loginService.login(systemAccountBean, request)));
    
        }
    
    属性解析
    注解属性 类型 描述
    value String 接口说明。
    notes String 接口发布说明。
    tags Stirng[] 标签。
    response Class<?> 接口返回类型。
    httpMethod String 接口请求方式。

    @ApiIgnore

    Swagger 文档不会显示拥有该注解的接口

    @ApiImplicitParams

    用于描述接口的非对象参数集

    @ApiImplicitParam

    用于描述接口的非对象参数,一般与 @ApiImplicitParams 组合使用。

    @ApiImplicitParam

    代码示例
    @ApiImplicitParams({
                @ApiImplicitParam(name = "accountId", value = "账户ID", dataType = "string", paramType = "query", example = "xingguo"),
        })
        public ResultMsgBean<List<SystemMenuBean>> queryForMenuListByAccountId() {
            return systemMenuBean;
        }
    
    主要属性
    注解属性 描述
    paramType 查询参数类型,实际上就是参数放在那里。取值:
    path:以地址的形式提交数据,根据 id查询用户的接口就是这种形式传参。
    query:Query string 的方式传参。
    header:以流的形式提交。
    form:以 Form 表单的形式提交。
    dataType 参数的数据类型。取值:Long String
    name 参数名字。
    value 参数意义的描述。
    required 是否必填。取值:true:必填参数。false:非必填参数。

    3.写在实体类上的注解

    3.1 描述

    @ApiModel:

    可设置接口相关实体的描述。

    @ApiModelProperty:

    可设置实体属性的相关描述

    3.2 代码示例

    @ApiModel(description= "账户信息类")
    public class SystemAccountBean extends CustomerPersonBean {
    	/** 帐号序号 */
    	@ApiModelProperty(value="帐号序号")
    	private String accountId;
    }
    

    3.3 @ApiModelProperty属性说明

    注解属性 类型 描述
    value String 字段说明。
    name String 重写字段名称。
    dataType Stirng 重写字段类型。
    required boolean 是否必填。
    example Stirng 举例说明。
    hidden boolean 是否在文档中隐藏该字段。
    allowEmptyValue boolean 是否允许为空。
    allowableValues String 该字段允许的值,当我们 API 的某个参数为枚举类型时,
    使用这个属性就可以清楚地告诉 API 使用者该参数所能允许传入的值。
  • 相关阅读:
    测试平台系列(56) JSON深层次对比方案
    测试平台系列(57) 美化代码编辑器
    测试平台系列(54) 数据库表接口适配前端页面(下)
    测试平台系列(55) 引入AceEditor(代码编辑器)
    测试平台系列(52) 改造异步数据库连接方案
    测试平台系列(53) 数据库表接口适配前端页面(上)
    二叉树
    OCP 063中文考试题库(cuug内部资料)第34题
    OCP 063中文考试题库(cuug内部资料)第33题
    OCP 063中文考试题库(cuug内部资料)第32题
  • 原文地址:https://www.cnblogs.com/xiaodou00/p/13539269.html
Copyright © 2020-2023  润新知