一、前言
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项目开发中遇到的问题很奇怪。