专栏首页海加尔金鹰的专栏Springboot之swagger-bootstrap-ui(knife4j)

Springboot之swagger-bootstrap-ui(knife4j)

最近在网上看到一个比较好的swagger-ui,swagger自带的UI不是很友好。特此记录下整合过程,并梳理下swagger相关的知识

什么是swagger?

简单来说就是解放程序员,让程序员少些不必要的API文档,只需要在项目当中定义好接口,返回实体等然后通过swagger暴露出来就可以自动生成接口相关的API文档!!!

swagger-bootstrap-ui(knife4j)

swagger是由自己自带的UI的,不过在对比两个之后,感觉swagger-bootstrap-ui现已变更为knife4j很不错!!!knife4j官网 第一步:引入JAR包

        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.9.2</version>
        </dependency>
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-spring-boot-starter</artifactId>
            <version>2.0.3</version>
        </dependency>

第二步:代码开启swagger2支持

@Configuration
@EnableSwagger2 
public class Swagger2Configuration {


    @Bean
    public Docket createRestApi() {

        List<Parameter> pars = new ArrayList<Parameter>();
  
        //构建默认参数
        ParameterBuilder ticketPar = new ParameterBuilder();
        ticketPar.name("Content-Type").description("Content-Type")
                .modelRef(new ModelRef("string")).parameterType("header")
                .required(true)
                .defaultValue("application/json").build();
        pars.add(ticketPar.build());
        //构建默认请求验证参数
        ticketPar = new ParameterBuilder();
        ticketPar.name("Authorization").description("Authorization")
                .modelRef(new ModelRef("string")).parameterType("header")
                .required(true)
                .defaultValue("111111111111111111111111111111111111111111111111").build();
        pars.add(ticketPar.build());
  
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("cn.hjljy.fastboot.controller"))
                .paths(PathSelectors.any())
                .build()
                .globalOperationParameters(pars);
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("swagger RESTful APIs")
                .description("swagger RESTful APIs")
                .termsOfServiceUrl("http://www.hjljy.cn/")
                .contact("hjljy@outlook.com")
                .version("1.0")
                .build();
    }


}

第三步:创建一个Controller接口,然后输入:127.0.0.1:8080/doc.html 然后就可以在浏览器当中看到接口数据了。

swagger注解说明

@Api(tags = "测试管理") 用于controller类表明类的接口

@ApiOperation(value = "测试接口") 用于方法上面 表明方法作用

@ApiModel(value = "demo") 用于实体类上,表明实体类的作用

@ApiModelProperty(value = "名称",required = true) 用于实体类字段上面,表明字段代表含义

其它略。。。。


标题:Springboot之swagger-bootstrap-ui(knife4j) 作者:海加尔金鹰 地址:https://www.hjljy.cn/articles/2020/06/05/1591344771998.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • SpringBoot之文件批量上传和下载

    之前学习并使用过文件的单个上传:springboot学习日志之DAY08文件上传功能 最近写程序过程当中需要使用到批量上传和批量下载,批量和单个文件的上传下载...

    海加尔金鹰
  • 设计模式学习笔记之建造者模式

    这是一篇学习笔记,内容很多是来源于网上的资料,然后按照自己学习情况进行的总结。 我的个人博客:海加尔金鹰

    海加尔金鹰
  • 如何将chm帮助文档部署成一个网站?

    最近一直都是远程开发,然后刚好所用到的 Java 技术相对比较偏门,经常需要查阅 API 文档,很久之前在网上下载过一个 jdk1.8 的中文 chm 文档,查...

    海加尔金鹰
  • 第九章 Kubernetes一撇

    https://www.aliyun.com/solution/kubernetes/index

    BH9AP_Librant
  • Xcode文档注释使用总结

    Xcode作为iOS的开发神器,为我们提供了十分丰富的文档提示功能,在开发过程中,我们可以十分方便的按下Option键,选中一个类或者方法查看其文档说明。而实际...

    梧雨北辰
  • SAP Kyma on top of Kubernetes的会议台词

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.blog....

    Jerry Wang
  • 简介Kube-liveboard——一款可视化操作工具

    Kubernetes这个自动化容器操作的开源平台,这些操作包括部署,调度和节点集群间扩展。因其具有对容器集群的方便部署,自动伸缩扩容,以及便于维护等功能和特性,...

    CNCF
  • tke-kms-plugin插件开源

    tke-kms-plugin是Kubernetes腾讯云KMS provider插件,支持腾讯云容器服务TKE集群(及用户在腾讯云的自建K8s集群)利用腾讯云...

    腾讯大讲堂
  • canvas文本操作

    contetx.fillText('需要写入画板的文字',left,top,maxwidth);指定了写入画板的文字,文字所处画板的位置left,top,最后一...

    十月梦想
  • Android Ndk and Opencv Development 2

    本节主要介绍的内容是Android NDK开发的核心内容和开发总结(包括很多常见问题的解决方案)。

    宅男潇涧

扫码关注云+社区

领取腾讯云代金券