Swagger 中 @ApiImplicitParam和@ApiImplicitParams的用途

1、@ApiImplicitParam

作用在方法上,用于设置单个请求参数,用法示例:

@PutMapping("/update")
@ApiOperation(value = "更新用户信息", notes = "根据用户登录token更新客户端提交的用户资料")
public Object update() {
    Map<String,Object> map = new HashMap<>();
    map.put("list", null);
    return map;
}


 

2、@ApiImplicitParams
作用在方法上,用于包含多个 @ApiImplicitParam,用法示例:

@PostMapping("/register")
@ApiOperation(value = "用户注册", notes = "APP用户注册")
@ApiImplicitParams({
        @ApiImplicitParam(name = "mobile", value = "手机号码", dataType = "string", paramType = "query", example = "13802780104", required = true),
        @ApiImplicitParam(name = "user_name", value = "登录账号", dataType = "string", paramType = "query", example = "lihailin9073", required = true),
        @ApiImplicitParam(name = "password", value = "登录密码", dataType = "string", paramType = "query", example = "123456", required = true),
        @ApiImplicitParam(name = "validate_code", value = "注册验证码", dataType = "string", paramType = "query", example = "3679", required = true)
})
public Object create() {
    Map<String,Object> map = new HashMap<>();
    map.put("list", null);
    return map;
}


各个参数说明: 
   1. name :参数名。 
   2. value : 参数的具体意义,作用。 
   3. required : 参数是否必填。 
   4. dataType :参数的数据类型。 
   5. paramType :查询参数类型,这里有几种形式:

        path 以地址的形式提交数据
        query 直接跟参数完成自动映射赋值
        body 以流的形式提交 仅支持POST
        header 参数在request headers 里边提交
        form 以form表单的形式提交 仅支持POST

     被这个paramType坑过一次,当发POST请求的时候,当时接受的整个参数,不论用body还是query,后台都会报Body Missing错误;这个参数和SpringMvc中的@RequestBody冲突,去掉paramType对接口测试并没有影响

 

Swagger 注解说明

  • @Api:用在类上,说明该类的作用。
  • @ApiOperation:注解来给API增加方法说明。
  • @ApiImplicitParams : 用在方法上包含一组参数说明。
  • @ApiImplicitParam:用来注解来给方法入参增加说明。
  • @ApiResponses:用于表示一组响应
  • @ApiResponse:用在@ApiResponses中,一般用于表达一个错误的响应信息
  • @ApiModel:描述一个Model的信息(一般用在请求参数无法使用@ApiImplicitParam注解进行描述的时候)
  • @ApiModelProperty:描述一个model的属性

 

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Swagger是一种用于描述、构建和生成RESTful风格的Web服务的工具集。它提供了一种简单且易于理解的方式来定义API的结构、参数、返回值等信息,并且可以生成可交互的API文档。 在Swagger,`@ApiImplicitParam`是一个用于描述API接口参数的注解。它可以用于指定参数的名称、类型、位置、是否必需等信息。然而,从Swagger 3.0版本开始,`@ApiImplicitParam`已经被废弃,取而代之的是`@Parameter`注解。 `@Parameter`注解与`@ApiImplicitParam`类似,用于描述API接口参数。它可以指定参数的名称、类型、位置、是否必需等信息。与`@ApiImplicitParam`不同的是,`@Parameter`注解提供了更加灵活和可扩展的功能,可以支持更多的参数类型和配置选项。 使用`@Parameter`注解时,你可以通过设置`in`属性来指定参数的位置,例如`in = ParameterIn.PATH`表示参数位于URL路径,`in = ParameterIn.QUERY`表示参数位于URL查询参数,`in = ParameterIn.HEADER`表示参数位于请求头,等等。 此外,你还可以使用`@Parameter`注解的其他属性来指定参数的名称、类型、是否必需等信息。例如,你可以使用`name`属性指定参数的名称,使用`schema`属性指定参数的数据类型,使用`required`属性指定参数是否必需等。 总结一下,`@Parameter`注解是Swagger 3.0版本用于描述API接口参数的注解,它提供了更加灵活和可扩展的功能,可以替代`@ApiImplicitParam`注解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值