【SpringBoot】Swagger和knife4j的使用

这篇具有很好参考价值的文章主要介绍了【SpringBoot】Swagger和knife4j的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

springboot笔记集合: springboot笔记合计
没用的废话理论不多说,会用就完了

1.什么是Swagger和Knife4j

  1. Swagger是一种开源的API描述语言,就是描述API的,
  2. 同时Swagger还提供了一组工具(也叫Swagger),可以帮助开发人员自动生成API文档、测试API并与其他系统集成。
  3. Knife4j是基于Swagge语言延伸的另一组api工具,简单来说,就是Swagger工具能干的它也能干,不能干的也能干,Knife4j就是Swagger的增强

2.Swagger和Knife4j怎么用

2.1 引入依赖

因为Knife4j是基于Swagger的,所以两个的依赖都要引进来,下面是我的案例:

  • 不同的Swagger和Knife4j版本可能有版本问题,以下这个搭配起码我用的时候没有问题
  • 我的springboot2.7.6
<dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <!--在引用时请在maven中央仓库搜索2.X最新版本号-->
            <version>2.0.9</version>
        </dependency>

2.2 设置配置类

/**
 * 自定义Swagger配置类
 * @imb.zz
 */
@Configuration // 配置类
//@EnableSwagger2 // 开启 swagger2 的自动配置
@EnableSwagger2
@EnableKnife4j
@Profile({"dev","test"})
public class SwaggerConfig {
    /**
     * 创建swagger对象:
     *
     * @return
     */
    @Bean
    public Docket mapRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("地图坐标转化APIs") //随便写
                .apiInfo(apiInfo()) //不用变
                .select() //不用变
                .apis(RequestHandlerSelectors.basePackage("com.example.yupao.controller"))//写你的controller的api包路径
                .paths(PathSelectors.any())//不用变
                .build();
    }


    /**
     * 设置api信息
     * title:swagger题目
     * description:描述
     * cotact:创建者 name url email
     *
     * @return
     */
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("这里写项目名")
                .description("这里写项目描述")
                .termsOfServiceUrl("这里写github链接,如果有的话")
                .contact(new Contact("imbzz",null ,"xxxxx@qq.com"))//个人信息
                .version("1.0")//版本提示
                .build();
    }
}

2.3 启动验证

  1. 出现第一个红色框成功
    【SpringBoot】Swagger和knife4j的使用,Spring Boot 发家之路,java,spring boot,后端
  2. 直接在浏览器打开 : localhost:8080/api/doc.html出现下面的页面就成了,可以直接测试接口
  • 端口由你自己指定,比如这个的8080
  • /api的路径是我自定义的,如果你别加 ,直接localhost:8080/doc.html
    【SpringBoot】Swagger和knife4j的使用,Spring Boot 发家之路,java,spring boot,后端【SpringBoot】Swagger和knife4j的使用,Spring Boot 发家之路,java,spring boot,后端
    如果有人说Swagger长什么样,下面这个丑样: 听说没那么好用,咱也是直接上Knife4jKnife4j
    【SpringBoot】Swagger和knife4j的使用,Spring Boot 发家之路,java,spring boot,后端

3.完结撒花

【SpringBoot】Swagger和knife4j的使用,Spring Boot 发家之路,java,spring boot,后端文章来源地址https://www.toymoban.com/news/detail-686630.html

到了这里,关于【SpringBoot】Swagger和knife4j的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【SpringBoot】SpringBoot引入接口文档生成工具(Swagger+Knife4j)

    由于目前工作项目写的接口越来越多了,为了能够更加方便地优化接口,以及整理接口文档,所以就考虑引入接口文档生成工具。目前的接口文档生成工具被提及较多的是Swagger,经过了引入尝试后,Swagger是比较轻松地就被引入了。但是Swagger页面属实是难以恭维,比较简单但

    2024年01月23日
    浏览(29)
  • 【swagger】spring security中 swagger和knife4j集成 无法访问 返回结果没有内容

    作为一个强迫症重度的程序猿 不想多导一个jar包 本文创作背景是鉴于网上大多数是旧版本swagger2的教程,且没有针对2和3区别描述,话不多说 直接步入正题。 如果只需要knife4j文档 导这 一个包 就够了 这里以3.0+版本举例 (对springboot比较熟悉的同学应该清楚 starter目的就是将其

    2024年02月06日
    浏览(31)
  • SpringBoot3中Swagger整合knife4j和springdoc的配置说明

      springboot3开始javax包改成了jakarta,而swagger-oas等包中依然使用的是javax所以报错。另外springfox已经过时了,两年没更新了,并且不支持OpenAPI3 标准,而SpringBoot3只支持OpenAPI3规范,所以要迁移到springdoc Knife4J是一款基于Swagger快速生成API文档和调试平台的开源工具,它可以轻松地

    2024年02月04日
    浏览(37)
  • Springboot 2.7 集成 Swagger 增强版接口框架 Knife4j 4.3 + springdoc OpenApi 3.0

    Swagger 作为一款服务端接口文档自动生成框架,早已深入人心,并且在市场上得到了广泛的应用。然而,Swagger 3.0 也就是 OpenApi 3.0 规范发布之后便停止了更新维护,出道就是巅峰。Knife4j 作为 Swagger 的增强版,是对 Swagger UI 做了优化,同时还有很多增强的功能。伴随着 Swagge

    2024年02月08日
    浏览(31)
  • springboot配置swagger/knife4j时出现的Unresolvable class definition for class …异常

    抽取出其中的关键原因描述: nested exception is java.lang.IllegalArgumentException: Unresolvable class definition for class [springfox.documentation.spring.web.OnServletBasedWebApplication] springfox.documentation.common.ClassPresentInClassPathCondition 进行原因排查后,发现是依赖之间版本问题的冲突导致,下面提供一个能

    2024年02月12日
    浏览(32)
  • SpringBoot - 集成Swagger2、Knife4j接口文档/升级版swagger-bootstrap-ui配置以及账号密码登录

    请注意@Configuration和@EnableSwagger2注解。这两个注解分别表示这是一个配置类,以及启用了Swagger 2。只有在这两个注解都存在的情况下,Swagger才会被正确启用。 如果您的项目使用的是Swagger 3(即OpenAPI 3),则配置文件可能如下所示: 访问 http://localhost:8080/swagger-ui.html (假设项

    2024年02月08日
    浏览(30)
  • Swagger + Knife4j 接口文档的整合

    Swagger 接口文档的整合: 引入依赖(Swagger 或 Knife4j)。 自定义 Swagger 配置类。 定义需要生成接口文档的代码位置(Controller)。 注意:线上环境不要把接口暴露出去!!!可以通过在 SwaggerConfig 配置文件开头加上 @Profile({“dev”, “test”}) 限定配置仅在部分环境开启。 启动

    2024年01月20日
    浏览(38)
  • knife4j实现微服务swagger文档聚合

    在项目开发过程中,接口文档的使用是在所难免的,但是在微服务场景下,多个服务之间的swagger是分散的,虽然swagger提供了微服务的聚合方式,配置过于繁琐,加之swagger本身的功能比较少,而且ui布局也比较蛋痛,此处推荐一款新框架用于增强swagger以及实现微服务接口文档的聚合 kni

    2024年02月13日
    浏览(40)
  • springBoo3.0集成knife4j4.1.0(swagger3)

    温馨提示: springBoot 版本 3.0+ knife4j 版本 4.1.0  添加依赖:knife4j包含了swagger,openapi3中的依赖,所以加这一个就行。 yml文件中配置: 然后,就可以启动测试输入地址http://ip:port/doc.html  注解的基本使用可以看下这里:swagger3注解和swagger2的区别  这里主要提下请求参数为文件

    2024年02月05日
    浏览(25)
  • SpringBoot 整合knife4j

    Knife4j是一款基于Swagger 2的在线API文档框架 添加依赖 创建 Swagger 配置依赖 application.yml配置文件 响应参数 tips: http://127.0.0.1:8080/doc.html 这里端口,就是你运行项目的端口 springboot 中 knife4j的完整参数如下: 接口添加作者 添加作者有俩种方式 在方法上使用注解 @ApiOperationSupport

    2024年02月14日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包