文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

SpringBoot Knife4j在线API文档框架怎么使用

2023-07-04 18:55

关注

本篇内容主要讲解“SpringBoot Knife4j在线API文档框架怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SpringBoot Knife4j在线API文档框架怎么使用”吧!

1.Knife4j在线API文档基本使用

Knife4j是一款基于Swagger 2的在线API文档框架。

使用Knife4j的基础步骤:

关于依赖项:

<!-- Knife4j Spring Boot:在线API --><dependency>    <groupId>com.github.xiaoymin</groupId>    <artifactId>knife4j-spring-boot-starter</artifactId>    <version>2.0.9</version></dependency>

注意:以上依赖项的版本是2.0.9,适用于Spring Boot 2.6以下(不含2.6)版本。

关于配置文件中的配置,主要是开启此框架的增强模式(Knife4j定义的概念),需要添加:

knife4j.enable=true

关于配置类:

import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;import lombok.extern.slf4j.Slf4j;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.service.ApiInfo;import springfox.documentation.service.Contact;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;@Slf4j@Configuration@EnableSwagger2WebMvcpublic class Knife4jConfiguration {        private String basePackage = "cn.tedu.csmall.product.controller";        private String groupName = "product";        private String host = "http://java.tedu.cn";        private String title = "商城在线API文档--商品管理";        private String description = "商城在线API文档--商品管理";        private String termsOfServiceUrl = "http://www.apache.org/licenses/LICENSE-2.0";        private String contactName = "Java教学研发部";        private String contactUrl = "http://java.tedu.cn";        private String contactEmail = "java@tedu.cn";        private String version = "1.0.0";    @Autowired    private OpenApiExtensionResolver openApiExtensionResolver;    public Knife4jConfiguration() {        log.debug("创建配置类对象:Knife4jConfiguration");    }    @Bean    public Docket docket() {        String groupName = "1.0.0";        Docket docket = new Docket(DocumentationType.SWAGGER_2)                .host(host)                .apiInfo(apiInfo())                .groupName(groupName)                .select()                .apis(RequestHandlerSelectors.basePackage(basePackage))                .paths(PathSelectors.any())                .build()                .extensions(openApiExtensionResolver.buildExtensions(groupName));        return docket;    }    private ApiInfo apiInfo() {        return new ApiInfoBuilder()                .title(title)                .description(description)                .termsOfServiceUrl(termsOfServiceUrl)                .contact(new Contact(contactName, contactUrl, contactEmail))                .version(version)                .build();    }}

注意:务必检查以上配置类中的basePackage属性的值,必须是当前项目中控制器类所在的包!

在项目中已经完成以上步骤后,启动项目,打开浏览器,通过http://localhost:8080/doc.html即可访问在线API文档。

2.配置API文档信息

@Api:添加在控制器类上

@ApiOperation:添加在控制器类中处理请求的方法上

@ApiOperationSupport:添加在控制器类中处理请求的方法上

@ApiModelProperty:添加在POJO类型的属性上

@ApiImplicitParam:添加在控制器类中处理请求的方法上,用于对未封装的请求参数添加说明(例如Long id参数)

@ApiImplicitParams:添加在控制器类中处理请求的方法上,此注解的value属性是@ApiImplicitParam注解的数组类型,当需要使用@ApiImplicitParam对多个未封装参数进行说明时,需要将多个@ApiImplicitParam注解的配置作为当前注解的参数

@ApiOperation("删除类别")@ApiOperationSupport(order = 200)@ApiImplicitParams({    @ApiImplicitParam(name = "id", value = "类别ID", required = true, dataType = "long"),    @ApiImplicitParam(name = "userId", value = "用户ID", required = true, dataType = "long")})@PostMapping("/delete")public void delete(Long userId, Long id) {}

到此,相信大家对“SpringBoot Knife4j在线API文档框架怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯