新手必看-Knife4j的常用注解

前言

       SpringBoot集成Knife4j可看另一篇文章:http://t.csdnimg.cn/bmPhj

Knife4j常用注解

1,@Tag

      添加在controller类上,可以指定该 controller 模块的名称。knife4j默认根据字母排序,加上序号后会根据序号排序。

@Tag(name = "管理后台 - 01.登录校验",description = "登录校验相关接口")

2,@Operation

      该注解放在 controller 类下的请求方法上,可以指定该请求/方法的作用。添加后可以在对应的 控制层模块下查看该请求。

@PostMapping("/logout")
@Operation(summary = "退出系统")
public CommonResult<String> logout() {
    return success("success"); 
}

3,@Parameters和@Parameter

用于对请求方法的参数列表中那些未封装的参数进行说明。如果有多个参数时需要使用@Parameters包起来。

@PostMapping("/login")
@Operation(summary = "使用账号密码登录")
@Parameters({
        @Parameter(name = "username", description = "用户名", required = true),
        @Parameter(name = "password", description = "密码", required = true)
})
public CommonResult<String> login(
        @RequestParam("username") String username,
        @RequestParam("password") String password
) {
        return success(username+password); 
}

4,@Schema

      作用在实体类及其属性上,用于描述实体及其属性。

      requiredMode = Schema.RequiredMode.REQUIRED:表示该参数是必须的。

@Schema(name = "登录VO", description = "登录校验 - 接收登录请求参数 request vo")
@Data
public class LoginReqVO {

    @Schema(description = "用户账号", requiredMode = Schema.RequiredMode.REQUIRED,example = "admin")
    @NotBlank(message = "用户名不能为空")
    @Length(min = 4, max = 16, message = "用户名长度为 4 到 16 个字符")
    @Pattern(regexp = "^[A-Za-z0-9]+$", message = "账号格式为数字以及字母")
    private String username;

    @Schema(description = "用户密码", requiredMode = Schema.RequiredMode.REQUIRED,example = "123456")
    @NotBlank(message = "密码不能为空")
    private String password;
}

      默认值是类名,但可以使用@Schema注解的name属性修改默认值

    注意:该注解只有在 controller 中被使用后才会生效,不然api文档中不会出现该实体的描述。

    大功告成,一起学习起来吧!!!

    

  • 8
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Knife4j常用的注解包括: 1. @Api:用于对Controller类添加API文档的说明和描述。可以在类级别使用,表示该类是一个API资源。 2. @ApiOperation:用于对Controller中的方法添加API操作的说明和描述。可以在方法级别使用,表示该方法是一个API操作。 3. @ApiParam:用于对Controller中方法的参数添加API参数的说明和描述。可以在方法参数级别使用,表示该参数是一个API参数。 4. @ApiImplicitParam:和@ApiParam类似,用于对Controller中的方法参数添加API参数的说明和描述。可以在方法参数级别使用,表示该参数是一个API参数。 5. @ApiModel:用于对实体类添加API模型的说明和描述。可以在类级别使用,表示该类是一个API模型。 6. @ApiModelProperty:用于对实体类的属性添加API属性的说明和描述。可以在属性级别使用,表示该属性是一个API属性。 例如,在使用Knife4j时,可以使用@Api注解来标注Controller类,使用@ApiOperation注解来标注Controller中的方法,使用@ApiParam注解来标注方法参数,使用@ApiModel注解来标注实体类,使用@ApiModelProperty注解来标注实体类的属性。这样可以为API文档添加详细的说明和描述,提高接口文档的可读性和可理解性。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [Knife4j注解说明](https://blog.csdn.net/qq_46126559/article/details/118487809)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [swagger2(knife4j) 注解说明](https://blog.csdn.net/leaf__yang/article/details/126279902)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋风~微凉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值