swagger ui
swagger ui
Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。文件的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。
一、作用
(一)接口的文档在线自动生成。
(二)功能测试。
二、主要项目
(一)Swagger-tools:提供各种与Swagger进行集成和交互的工具。例如模式检验、Swagger 1.2文档转换成Swagger 2.0文档等功能。
(二)Swagger-core: 用于Java/Scala的的Swagger实现。与JAX-RS(Jersey、Resteasy、CXF...)、Servlets和Play框架进行集成。
(三)Swagger-js: 用于JavaScript的Swagger实现。
(四)Swagger-node-express: Swagger模块,用于node.js的Express web应用框架。
(五)Swagger-ui:一个无依赖的HTML、JS和CSS集合,可以为Swagger兼容API动态生成优雅文档。
(六)Swagger-codegen:一个模板驱动引擎,通过分析用户Swagger资源声明以各种语言生成客户端代码。
三、maven
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>1.0(版本自行选择)</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>1.0(版本自行选择)</version>
</dependency>
四、使用(spring boot)
(一)配置
swagger:
enable: true
(二)创建SwaggerAppConfig
@EnableSwagger2
@Configuration
public class SwaggerAppConfig {
@Value("${swagger.enable}")
private boolean enableSwagger;
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("接口文档")
.description("服务调试接口")
.contact(ApiInfo.DEFAULT_CONTACT)
.version("1.0.1")
.build();
}
@Bean
public Docket commonWechat() {
Docket docket = new Docket(DocumentationType.SWAGGER_2);
docket.enable(enableSwagger)
.groupName("测试相关API")
.apiInfo(apiInfo())
.select()
.paths(PathSelectors.regex("/common/.*"))
.build();
return docket;
}
}
(二)接口文件注入@Api(description = "基础服务API")
@Api(description = "基础服务API")
@RestController
@RequestMapping("/common")
public class CommonController extends BaseController {
}