swagger文档(swagger2使用详解)

一、前言

Spring Boot作为目前最受欢迎的Java web开发立足点,越来越多的开发者选择构建企业级的rest风格的API接口。 这些接口不仅为传统的web/s提供服务,也为移动端提供服务。 在实际开发过程中,这些接口需要提供与开发测试相关的白盒测试,在多人的合作中,必然存在如何共享API开发接口文档,及时更新的问题。

使用Swagger合并文档有以下优点:

丰富的功能:支持多条评论,自动生成接口文档界面,支持在界面上测试API接口功能; 及时更新:在开发过程中花一点时间写评论,可以立即更新API文档,从而节省精力和精力; 易于集成:通过添加pom依赖关系和简单的配置,可以嵌入到APP中,无需部署独立的服务,可以同时发布API接口文档界面。 然后,使用Spring Boot集成Swagger以实现在线API文档的功能。 本文使用的是spring福克斯软件2,2.9.2版。 最新版本是3.0.0,但我的测试没有出现swagger-ui.html网页,在https://

二、创建Spring Boot工程

我使用的开发工具是IDEA。 在IDEA中快速创建Spring Boot项目。 创建时,只需要检查web依赖选项。 不检查也没关系。 之后用pom.xml构成也一样。 创建项目时,请注意项目名称全部为小写。

添加Swagger的两个依赖

! — swagger —

从属关系

groupid io.spring福克斯/groupid

artifactidspringfox -切换器2 /工件id

版本2.9.2 /版本

/从属关系

从属关系

groupid io.spring福克斯/groupid

artifactidspringfox -切换器- ui /工件id

版本2.9.2 /版本

/从属关系

三、添加配置类

中添加swagger配置类,在项目下创建新的config包,然后添加SwaggerConfig配置类SwaggerConfig.java。

importorg.spring框架.上下文.注释. bean;

importorg.spring框架.上下文.注释.配置;

importspringfox .文档. builders.apiinfobuilder;

importspringfox .文档. builders .路径选择器;

importspringfox .文档. builders.requesthandlerselectors;

importspringfox .文档.服务. API信息;

importspringfox .文档. SPI .文档类型;

importspringfox .文档. spring.web .插件.工具包;

importspringfox .文档. swagger2. annotations .启用程序2;

@Configuration

@EnableSwagger2

公共类swagger配置

@Bean

公共坞站创建器stapi (

返回新坞站(文档类型. swagger _2)。

. API信息(API信息) ) )

. select () )

. APIs (requesthandlerselectors.any ()

. paths (路径选择器. any ) )

. build (;

}

私有应用程序信息应用程序信息(

返回新的apiinfobuilder ()

. title )“在线API文档”

.描述(thisisarestfulapidocumentofdemo ) )

.版本(‘1.0) ) )。

. build (;

}

}

至此,Swagger的配置完成。 是不是既简洁又轻松?

添加

四、创建一个测试Controller来验证配置

控制器,在项目下创建新的控制器包,然后添加hello控制器HelloController.java。

包com.Louis.spring boot .演示.控制器;

importorg.spring框架. web.bind .注释.获取映射;

importorg.spring框架. web.bind .注释.请求参数;

importorg.spring框架. web.bind .注释.还原控制器;

导入io.swagger .注释. API;

导入io.swagger .注释. API操作;

导入io.swagger .注释. API参数;

/*类注释*

@Api

@ rest控制器

公共类助手控制器{2}

/*方法注释*

@ API操作(值=’ descofmethod ‘,注释=’ ‘ )

@ get mapping (值=’/hello ‘ ) () ) ) ) ) ) ) ) ) ) ) )至) ) ) ) )。

publicobjecthello (API参数)值=’ descofparam ‘,要求=真) @请求参数字符串名称)

莱顿’赫尔罗’名称’!’ ;

}

}

启动

五、编译运行测试

项目,打开浏览器,进入访问: http://localhost :8080/swagger-ui.html,swagger界面文档界面。

结束工作,这样管理API界面很方便,而且代码和实时更新,不用麻烦也可以写界面文档。

附录:Swagger常用注解

应用程序界面

使用场所

@Api

在controller类中使用,表示该类是swagger的资源

@ API操作

controller方法,表示对http请求的操作

@ApiParam

方法中的参数注释

@ API响应

用控制器的方法使用

@ API响应

在@ApiResponses中使用

@ApiImplicitParams

用控制器的方法使用

@ApiImplicitParam

用@ApiImplicitParams的方法使用

@ API模型

用于返回对象类

在WEB项目开发中遇到的问题很奇怪。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注