zoukankan      html  css  js  c++  java
  • 自动生成swagger 前后端分离 对接文档

    0.0首先  材料准备+环境介绍

    环境是springboot  分模块开发,有很多模块是跑web服务器,但是大家都会共同依赖一个基础模块 common模块 

    如下2个材料就是配置在 common模块中,供各个跑web服务器的模块都可以使用到

    如下是spring boot的自动配置类,       KnifeConfiguration

    放在 common模块的config包内,这是一个自定义自动配置类

    /**********************************************************************************************************************************************************************/

    import com.github.xiaoymin.knife4j.spring.annotations.EnableKnife4j;
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.context.annotation.Import;
    import springfox.bean.validators.configuration.BeanValidatorPluginsConfiguration;
    import springfox.documentation.builders.ApiInfoBuilder;
    import springfox.documentation.builders.PathSelectors;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.service.ApiInfo;
    import springfox.documentation.service.Contact;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;

    @Configuration
    @EnableSwagger2
    @EnableKnife4j
    @Import(BeanValidatorPluginsConfiguration.class)
    public class KnifeConfiguration {

    @Bean
    public Docket buildDocket() {
    return new Docket(DocumentationType.SWAGGER_2)
    .apiInfo(buildApiInfo())
    .select()
    // 要扫描的API(Controller)基础包
    .apis(RequestHandlerSelectors.basePackage("com.biyou"))
    .paths(PathSelectors.any())
    .build();
    }

    private ApiInfo buildApiInfo() {
    Contact contact = new Contact("主标题","",""); // 这个 contact 对象 是用来描述文档标题信息的
    return new ApiInfoBuilder()
    .title("测试平台-平台管理API文档")
    .description("平台管理服务api")
    .contact(contact)
    .version("1.0.0").build();
    }
    }
    /**********************************************************************************************************************************************************************/

    材料2 需要在commoon模块的pom文件中添加如下依赖

    <!-- swagger2 -->
    <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>
    <!-- knife4j -->
    <dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-spring-boot-starter</artifactId>
    <version>2.0.2</version>
    </dependency>

    /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
    这样安排好了后
    某个web项目跑起来了以后

    好比说这个web项目的的服务端口号是9011,
    context-path是  /demo

    本地域名是 localhost.biyou.com


    我在访问 http://localhost.biyou.com:9011/demo/doc.html 网页就可以看到这个web项目需要的前后端对接的 swagger 文档


  • 相关阅读:
    three.js中 用 鼠标点击+呼吸灯
    socket.io学习以及在vuehtml使用,node搭建的后台
    网路在线古诗文免费阅读网站
    vue-element-admin默认加载Dashboard更改
    vue-element-admin后台框架侧边蓝图标添加自定义
    吸顶操作vue
    对图片进行裁剪(vueCropper)图片不显示
    ucharts使用内容
    文字转换为语音在线免费工具连接
    tree.js外部骨骼动画
  • 原文地址:https://www.cnblogs.com/cjd01/p/14051571.html
Copyright © 2011-2022 走看看