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配置就完成了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM