前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Springboot之swagger-bootstrap-ui(knife4j)

Springboot之swagger-bootstrap-ui(knife4j)

作者头像
海加尔金鹰
发布2020-06-09 10:36:28
9900
发布2020-06-09 10:36:28
举报

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

什么是swagger?

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

swagger-bootstrap-ui(knife4j)

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

代码语言:javascript
复制
        <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支持

代码语言:javascript
复制
@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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是swagger?
  • swagger-bootstrap-ui(knife4j)
  • swagger注解说明
相关产品与服务
Serverless HTTP 服务
Serverless HTTP 服务基于腾讯云 API 网关 和 Web Cloud Function(以下简称“Web Function”)建站云函数(云函数的一种类型)的产品能力,可以支持各种类型的 HTTP 服务开发,实现了 Serverless 与 Web 服务最优雅的结合。用户可以快速构建 Web 原生框架,把本地的 Express、Koa、Nextjs、Nuxtjs 等框架项目快速迁移到云端,同时也支持 Wordpress、Discuz Q 等现有应用模版一键快速创建。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档