zxjy008- 项目集成Swagger

Swagger可以生成在线文档,还可以进行接口测试。

1、创建common模块(maven类型)

为了让所有的微服务子子模块都可以使用,可以在guli_parent父工程下面创建公共模块

1.1 在guli_parent父工程下面创建公共模块

配置:
groupId:com.atguigu
artifactId:common

1.2 在common模块下新建子子模块service_base

1.3在service_base下新建swagger配置类

新建包:com.atguigu.servicebase

新建配置类: SwaggerConfig

1.4 swagger配置类代码

java 复制代码
@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket webApiConfig() {
        return new Docket(DocumentationType.SWAGGER_2)
                .groupName("webApi")
                .apiInfo(webApiInfo())
                .select()
//                .paths(Predicates.not(PathSelectors.regex("/admin/.*")))
                .paths(Predicates.not(PathSelectors.regex("/error.*")))
                .build();

    }

    private ApiInfo webApiInfo() {

        return new ApiInfoBuilder()
                .title("网站-课程中心API文档")
                .description("本文档描述了课程中心微服务接口定义")
                .version("1.0")
                .contact(new Contact("Helen", "http://atguigu.com", "571142831@qq.com"))
                .build();
    }
}

2、添加common模块的依赖

java 复制代码
 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <scope>provided </scope>
        </dependency>
        <!--mybatis-plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <scope>provided </scope>
        </dependency>

        <!--lombok用来简化实体类:需要安装lombok插件-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <scope>provided </scope>
        </dependency>

        <!--swagger-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <scope>provided </scope>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <scope>provided </scope>
        </dependency>

        <!-- redis -->
<!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter-data-redis</artifactId>-->
<!--        </dependency>-->

        <!-- spring2.X集成redis所需common-pool2
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>2.6.0</version>
        </dependency>-->
    </dependencies>

3、在模块service模块中引入service-base

这样service中的字模块都可以使用这个service_base配置类

java 复制代码
        <dependency>
            <groupId>com.atguigu</groupId>
            <artifactId>service_base</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>

4、在service_edu启动类添加包扫描注解

为了让service_base中的配置类SwaggerConfig.java被扫描到,需要在启动类上配置扫描规则。不然只会默认扫描到service_edu模块下的配置类config,不会扫描到service_base中的。

5、访问Swagger

http://localhost:8001/swagger-ui.html

相关推荐
ᅠᅠᅠ@1 分钟前
异常枚举;
开发语言·javascript·ecmascript
编程版小新7 分钟前
C++初阶:STL详解(四)——vector迭代器失效问题
开发语言·c++·迭代器·vector·迭代器失效
陈大爷(有低保)21 分钟前
UDP Socket聊天室(Java)
java·网络协议·udp
c4fx27 分钟前
Delphi5利用DLL实现窗体的重用
开发语言·delphi·dll
kinlon.liu34 分钟前
零信任安全架构--持续验证
java·安全·安全架构·mfa·持续验证
鸽芷咕1 小时前
【Python报错已解决】ModuleNotFoundError: No module named ‘paddle‘
开发语言·python·机器学习·bug·paddle
王哲晓1 小时前
Linux通过yum安装Docker
java·linux·docker
Jhxbdks1 小时前
C语言中的一些小知识(二)
c语言·开发语言·笔记
java6666688881 小时前
如何在Java中实现高效的对象映射:Dozer与MapStruct的比较与优化
java·开发语言
Violet永存1 小时前
源码分析:LinkedList
java·开发语言