• Springboot集成swagger和knife


    前言

    knife4j是在swagger的基本上做做了一次封装,主要体现在ui表现,所有在使用前必须先搭建好swagger2,其实是swagger和knife都可以访问,
    至于哪个好用全看个人!

    swagger2

    依赖包

    compile group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2'
    compile group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2'
    //下面这两包是为了防止注解没有给默认值的时候抛出的警告日志
    compile group: 'io.swagger', name: 'swagger-annotations', version: '1.5.22'
    compile group: 'io.swagger', name: 'swagger-models', version: '1.5.22'
    

    配置

    @Getter
    @Setter
    @Configuration
    @EnableSwagger2
    @ConfigurationProperties("swagger")
    public class SwaggerConfig {
    
        private String host;//自定义host
    
        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    .apis(RequestHandlerSelectors.basePackage("com.only.oc.web.api"))//扫描包
                    .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))//扫描在API注解的contorller
                    .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))//扫描带ApiOperation注解的方法
                    .paths(PathSelectors.any())
                    .build().host(host);//自定义host
        }
    
        private ApiInfo apiInfo() {
            String version = DateUtil.customFormat(new Date(),"yyyyMMdd.HHmmss");
            return new ApiInfoBuilder()
                    .title("昂立课堂(业务版)")
                    .description("昂立课堂第二版,在SDK版上升级了业务模块,业务模块包括:用户、老师、学生、课程、课节、上课统计流水等。")
                    .version("v2."+version)
                    .license("Apache License Version 2.0")
                    .licenseUrl("https://www.apache.org/licenses/LICENSE-2.0")
                    .contact(new Contact("朱增亮", "", "zhuzengliang@onlyedu.com"))
                    .build();
        }
    }
    

    访问

    默认访问路径http://locahost:8080/swagger.html

    swagger2.png

    knife4j

    依赖包

    compile group: 'com.github.xiaoymin', name: 'knife4j-spring-boot-starter', version: '2.0.4'
    

    配置

    原来的SwaggerConfig类上加入注解:

    @EnableKnife4j
    @Import(BeanValidatorPluginsConfiguration.class)
    

    访问

    默认访问路径http://locahost:8080/doc.html

    knife.png

    knife2.png

  • 相关阅读:
    Collection 和 Collections的区别?
    事务是什么?有哪些属性,并简要说明这些属性的含义。
    jsp有哪些内置对象?作用分别是什么?(至少三个)
    谈谈对XML的理解?说明Web应用中Web.xml文件的作用?
    类有哪三个基本特性?各特性的优点?
    Oracle安装完成后,如何用命令行启动和关闭数据库?
    请说明SQLServer中delete from tablea & truncate table tablea的区别
    试述数据库完整保护的主要任务和措施。
    存储过程和函数的区别
    性能
  • 原文地址:https://www.cnblogs.com/pigmen/p/14107065.html
Copyright © 2020-2023  润新知