• 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

  • 相关阅读:
    asp.net 框架接触(2)
    解决:C++ 中 main函数 wmain函数 _tmain函数 WinMain函数 wWInMain函数 _tWinMain函数的区别
    实现:创建/复制/移动文件API
    实现:类模板的数组类封装
    python3 解析shodan_json数据
    实现:API实现创建用户并且添加至管理员
    学习:类模板
    网展cms后台任意文件删除和sql注入
    选择排序
    实现:函数模板实现不同数据类型数组进行排序
  • 原文地址:https://www.cnblogs.com/pigmen/p/14107065.html
Copyright © 2020-2023  润新知