首页 > 其他分享 >后端整合 Swagger + Knife4j

后端整合 Swagger + Knife4j

时间:2022-10-08 15:44:59浏览次数:40  
标签:Knife4j com value 整合 Swagger Docket xiaoymin

Swagger 原理:

  1. 创建SpringBoot项目并且在pom.xml中引入Knife4j依赖包,Maven坐标如下:

    <!--引入Knife4j的官方start包,Swagger2基于Springfox2.10.5项目-->
    <dependency>
        <groupId>com.github.xiaoymin</groupId>
        <!--使用Swagger2-->
        <artifactId>knife4j-spring-boot-starter</artifactId>
        <version>2.0.9</version>
    </dependency>
  2. 自定义 Swagger 配置类

    @Configuration
    @EnableSwagger2WebMvc
    public class Knife4jConfiguration {
    
        @Bean(value = "dockerBean")
        public Docket dockerBean() {
            //指定使用Swagger2规范
            Docket docket=new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(new ApiInfoBuilder()
                    //描述字段支持Markdown语法
                    .description("# Knife4j RESTful APIs")
                    .termsOfServiceUrl("https://doc.xiaominfo.com/")
                    .contact("xiaoymin@foxmail.com")
                    .version("1.0")
                    .build())
                    //分组名称
                    .groupName("用户服务")
                    .select()
                    //这里指定Controller扫描包路径
                    .apis(RequestHandlerSelectors.basePackage("com.github.xiaoymin.knife4j.controller"))
                    .paths(PathSelectors.any())
                    .build();
            return docket;
        }
    }

     

  3. 定义需要生成接口文档的代码位置(Controller)

  4. 千万注意:线上环境不要把接口暴露出去!!!可以通过在 SwaggerConfig 配置文件开头加上 @Profile({"dev", "test"}) 限定配置仅在部分环境开启

  5. 启动即可(访问http://localhost:8080/doc.html)

  6. 可以通过在 controller 方法上添加 @Api、@ApiImplicitParam(name = "name",value = "姓名",required = true) @ApiOperation(value = "向客人问好") 等注解来自定义生成的接口描述信息

如果 springboot version >= 2.6,需要添加如下配置:

spring:
  mvc:
    pathmatch:
      matching-strategy: ANT_PATH_MATCHER

 

标签:Knife4j,com,value,整合,Swagger,Docket,xiaoymin
From: https://www.cnblogs.com/galo/p/16769137.html

相关文章

  • 搭建Swagger框架时,浏览不到Swashbuckle.AspNetCore包的简单解决办法
    什么是Swagger?Swagger是一款RESTFUL接口的文档在线自动生成+功能测试的软件。Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTFUL风格的Web服务。 ......
  • druid-spring-boot-starter整合hive与hadoop的排除类
    hive-jdbc和jetty冲突,所以在hive-jdbc中对jetty进行排除就OK<exclusions> <exclusion> <groupId>org.eclipse.jetty.aggregate</groupId> <artifactId>*</artifactI......
  • camunda_14_swagger
    预编译软件包支持Swagger命令行启动官方预编译,缺省情况下就已经启动了swaggerui.PSC:\my_program\camunda-bpm-run-7.17.0>.\start.batSettingJAVA......
  • 整合springboot
    案例1@RestControllerpublicclassUserInfoHandler{/***编程式校验*@paramuserInfo*@return*/@GetMapping("/addUser")......
  • SpringBoot整合Sharding-JDBC案例
    数据表t_user表为需要分库分表的表,user为其他表,user放在nestdr1中。对数据库实行读写分离nestdr1为从数据库。 查询  代码 pom<!--web-->......
  • spring boot 整合 redis
    springboot整合redispom.xmlmaven依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifa......
  • SpringBoot整合Junit、MyBatis
                 ......
  • springboot整合prometheus和grafana
    准备springBoot服务pom引入依赖<!--集成micrometer,将监控数据存储到prometheus--><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-r......
  • SpringBoot整合Websocket
    1.什么是WebSocket1.HTTP协议是一种无状态的、无连接的、单向的应用层协议。它采用了请求/响应模型。通信请求只能由客户端发起,服务端对请求做出应答处理,HTTP协议无法......
  • Spring整合RabbitMQ
    ✨Spring整合RabbitMQ​​1.简单消息模式​​​​1.1生产者​​​​1.1.1创建生产者工程spring-rabbitmq-producer​​​​1.1.2引入依赖​​​​1.1.3属性配置文件​​......