公司项目JAVA开发规范总结(三)——knife4j使用规范

三、knife4j使用规范

概要:knife4j的集成,便于项目接口的调试,可根据代码注解生成接口文档,注解的编写也助于代码的理解和查阅。

1、与实体类相关的注解:

@ApiModel:对该类做出解释

@ApiModelProperty:对类中的属性进行解释

@ApiModel("响应实体")
public class PacketHttpRes_V32<T> {
	
    @ApiModelProperty(value = "结果码 200:成功 500:具体异常信息 400:参数异常 401:未授权的请求 403:无权访问")
	private Integer returnCode;
}

生成的文档:
在这里插入图片描述

2、与接口相关的注解:

@Api:用在Controller上,对其进行注释,其注释属性是tags
在这里插入图片描述

@ApiOperation:写在Controller的方法上,可进行接口命名注释和接口作用描述;其注释属性:value(命名)、notes(接口描述)
在这里插入图片描述

@ApiParam:可加在接口的参数上,不过单纯加它会出现类型Body的情况,需要配合@RequestParam,如下所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xvum2Ocx-1655810125190)(E:\AppData\Roaming\Typora\typora-user-images\image-20220616201537459.png)]

@ApiImplicitParam【推荐】:统一对接口中的参数进行注释,注释类型明确

大概如下:

@RestController
@RequestMapping("/TeachingPlan/ShareTpMgr")
@Validated
@Slf4j
@Api(tags = "教师端端共享教案库管理")
public class ShareTpMgrOfTeaController extends BaseController {
    
    @ApiImplicitParams({
        @ApiImplicitParam(name = "UserID", value = "用户ID", dataType = "string", paramType = "query",
                          required = true, defaultValue = "1") 
    })
    
	@ApiOperation(value = "获取共享教材信息列表(中小学)", notes = "获取可访问的教材信息列表以及历史访问信息")
	@RequestMapping(value = "/GetCanVisBookList", method = RequestMethod.GET)
    public PacketHttpRes_V32<?> GetCanVisBookList(
        @ApiParam("用户ID") @NotBlank(message = "--UserID不能为空--") String UserID,

        @ApiParam("是否查询自己共享的,0或不传查询全部,1为查询自己共享的,2为查询非自己共享的")
        @RequestParam(value = "IsQueryBySelf", required = false, defaultValue = "0")
        @NotNull(message = "--IsQueryBySelf不能为空--")
        @IntegerValidator(params = {0, 1, 2}, message = "--IsQueryBySelf参数错误--") 
        Integer IsQueryBySelf,
        HttpServletResponse response
    )
}

输出文档如图所示:
在这里插入图片描述

调试如图所示:
在这里插入图片描述

关于Knife4j的开关:

由applications.properties配置控制

#开启knife4j的增强模式
knife4j.enable=true
#是否为生产环境进行拒绝访问;ture为关闭knife4j页面访问功能
knife4j.production=false
#开启账户登录模式
knife4j.basic.enable=true
# Basic认证用户名
knife4j.basic.username=admin
# Basic认证密码
knife4j.basic.password=lg123456

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Knife4j是基于Swagger的增强UI实现,可以帮助我们生成API文档以及测试接口,使接口文档更加直观、易懂。在SpringBoot项目中,我们可以通过以下步骤来实际使用Knife4j: 1.添加Knife4j依赖 在pom.xml文件中添加以下依赖: ``` <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>3.0.2</version> </dependency> ``` 2.配置Swagger 在SpringBoot项目中,我们可以通过@Configuration注解来配置Swagger,例如: ``` @Configuration @EnableSwagger2 public class SwaggerConfig { @Bean public Docket docket() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(new ApiInfoBuilder() .title("API文档") .description("这是一个Swagger API文档") .version("1.0.0") .build()) .select() .apis(RequestHandlerSelectors.basePackage("com.example.demo.controller")) .paths(PathSelectors.any()) .build(); } } ``` 其中,@EnableSwagger2注解表示开启Swagger功能,@Bean注解表示将该方法返回的对象注册到Spring容器中,Docket对象表示用于配置Swagger的构建器,apiInfo方法用于设置文档基本信息,select方法用于指定要扫描的接口,这里我们扫描com.example.demo.controller包下的接口。 3.访问Knife4j页面 启动SpringBoot项目后,访问http://localhost:8080/doc.html即可进入Knife4j页面,可以看到自动生成的接口文档以及测试接口的功能。通过点击接口名称,可以查看该接口的详细信息,包括请求参数、响应参数等。同时,我们也可以在页面上进行接口测试,方便调试接口。 总的来说,使用Knife4j可以让接口文档更加直观、易懂,同时也方便了前后端的沟通与开发

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值