zoukankan      html  css  js  c++  java
  • java之springboot的swagger-spring-boot-starter的swagger的使用(三)

    一,根据上篇博客java之springboot的mybatis的使用(一)的基础上,我们添加swagger,如下,我们引入包

    pom.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>com.nl.testmybatis</groupId>
        <artifactId>testmybatis</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.2.7.RELEASE</version>
        </parent>
    
        <dependencies>
            <!--springframework.boot-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <!--这个mysql驱动-->
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <version>8.0.20</version>
            </dependency>
            <!--mybatis-->
            <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.1.3</version>
            </dependency>
            <!-- swagger-国人封装的swagger -->
            <dependency>
                <groupId>com.spring4all</groupId>
                <artifactId>swagger-spring-boot-starter</artifactId>
                <version>1.9.0.RELEASE</version>
            </dependency>
        </dependencies>
        <build>
            <plugins>
                <!--在使用mybatis时我们需要重复的去创建pojo类、mapper文件以及dao类并且需要配置它们之间的依赖关系,
                比较麻烦且做了大量的重复工作,mybatis官方也发现了这个问题,
                因此给我们提供了mybatis generator工具来帮我们自动创建pojo类、
                mapper文件以及dao类并且会帮我们配置好它们的依赖关系。
                -->
                <plugin>
                    <groupId>org.mybatis.generator</groupId>
                    <artifactId>mybatis-generator-maven-plugin</artifactId>
                    <configuration>
                        <configurationFile>${project.basedir}/src/main/resources/generatorConfig.xml</configurationFile>
                        <overwrite>true</overwrite>
                    </configuration>
                    <dependencies>
                        <dependency>
                            <groupId>mysql</groupId>
                            <artifactId>mysql-connector-java</artifactId>
                            <version>8.0.20</version>
                        </dependency>
                    </dependencies>
                </plugin>
            </plugins>
        </build>
    </project>

    如下这个包才是重点

        <!-- swagger-国人封装的swagger -->
            <dependency>
                <groupId>com.spring4all</groupId>
                <artifactId>swagger-spring-boot-starter</artifactId>
                <version>1.9.0.RELEASE</version>
            </dependency>

    这包国人封装的,包含了swagger的包了,所以只需要引用这个包即可

    二,我们添加swagger的配置

    package com.nl.testmybatis.config;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import springfox.documentation.builders.PathSelectors;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.paths.RelativePathProvider;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    import javax.servlet.ServletContext;
    
    @Configuration
    @EnableSwagger2
    public class SwaggerConfig {
        @Autowired
        /*ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,
        其才释放。request,一个用户可有多个;session,一个用户一个;而servletContext,
        所有用户共用一个。所以,为了节省空间,提高效率,ServletContext中,
        要放必须的、重要的、所有用户需要共享的线程又是安全的一些信息。*/
        private ServletContext servletContext;
    
        @Bean
        public Docket docket() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .enable(true)
                    .select()
                    //接口的包名
                    .apis(RequestHandlerSelectors.basePackage("com.nl.testmybatis.controllers"))
                    .paths(PathSelectors.any())
                    .build()
                    .pathProvider(new RelativePathProvider(servletContext) {
                        @Override
                        public String getApplicationBasePath() {
                            return "/";
                        }
                    });
        }
    }

    三,我们的代码接口如下

     四,这个时候我们就可以运行了,由于没有更改任何路径配置,默认访问http://localhost:8080/swagger-ui.html#/

     简单的swagger配置就完成了

  • 相关阅读:
    授权管理-LDAP-介绍与环境搭建
    Gerrit系统框架介绍
    代码托管-gerrit-介绍与环境搭建
    springMVC
    spring,springMVC,mybatis项目添加maven后报500错
    SSM项目引入文件失败
    spring与mybatis整合
    幂等问题本质和业务场景的解决方案
    spring boot logback无感配置
    sentinel与hystrix对比
  • 原文地址:https://www.cnblogs.com/May-day/p/14244250.html
Copyright © 2011-2022 走看看