Swagger-UI

编辑推荐:
本文来自csdn,文章主要介绍了swagger是什么,怎么搭建swagger-editor,以及一些简单的应用。

一、swagger简介

swagger是一个可以编写接口的API文档并且可以调试接口的一个工具,从swagger的官网上可以看到主要有swagger-editor、swagger-ui以及swagger-codegen三个工具。swagger-editor用来编辑swagger格式的文档,swagger-ui用来展示swagger格式的文档而swagger-codegen则可以根据文档来生成不同开发语言的客户端。同时还有个swagger hub则是集成了以上三种工具的一个交由swagger托管的一个网站

二、swagger-editor

从官网上可以看到,我们可以自行搭建swagger-editor环境,由于swagger已经发布了docker镜像,因此我们只要使用docker运行镜像即可。

Swagger-UI

Swagger-UI

我访问下10030端口,即可以看到swagger-editor的页面,如下

Swagger-UI

三、swagger-ui

swagger-editor编辑后的swagger接口文档需要使用swagger-ui来查看,swagger-ui在官网上也可以找到运行方式,也是做成了docker镜像。

Swagger-UI

Swagger-UI

访问虚拟机80端口,就可以访问到swagger-ui界面了

Swagger-UI

但是有问题,就是swagger.json如何才能变成自己有swagger-editor编写的文档呢,使用了官网的方法好像都无法修改上面的swagger内容,看了下swagger-ui在github上面的用于构建镜像的Dockerfile文件,如下

Swagger-UI

使用了nginx,因此我们需要把自己编辑好的swagger.json放入到和swagger-ui页面相同的目录下,这样我们就可以访问自己的swagger.json了。

Swagger-UI

进入到容器里面查看,可以看到我们自己的swagger.json,我们可以访问下

Swagger-UI

可以看到我们可以访问自己的swagger文档了

四、如果文档不需要存磁盘,我们可以使用代码来生成API文档

1.需要引入的swagger依赖

<dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-swagger-ui</artifactId>

<version>2.6.1</version>

</dependency>

<dependency>

<groupId>io.springfox</groupId>

<artifactId>springfox-swagger2</artifactId>

</dependency>

2.swagger配置

@Configuration

@EnableSwagger2

@EnableWebMvc

@Bean

public Docket customImplementation() {

return new Docket(DocumentationType.SWAGGER_2)

.useDefaultResponseMessages(false)

.apiInfo(apiInfo())

.select()

.apis (RequestHandlerSelectors.withClassAnnotation (Api.class))

.apis (RequestHandlerSelectors.withMethodAnnotation (ApiOperation.class))

.build();

}

private ApiInfo apiInfo() {

return new ApiInfoBuilder()

.title("API 文档")

.description("")

.version("1.0")

.build();

}

}

3.需要生成接口文档的controller类和方法上添加@Api和@ApiOperation注解即可

原文 

http://www.uml.org.cn/Test/201904082.asp

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Swagger-UI

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址