Swagger2使用
介绍
Swagger2官网地址如下:Swagger2
官网对Swagger2的介绍如下:
翻译过来的意思是:
Swagger是一个用于描述和记录RESTful api的项目。Swagger规范定义了描述此类API所需的一组文件。然后Swagger-UI项目可以使用这些文件来显示API和Swagger-Codegen以生成各种语言的客户端。其他实用程序也可以利用结果文件,例如测试工具。
在前后端分离的开发模式中,前端和后端的唯一联系是API接口,如果让后端人员在开发完以后再去写API文档给前端,对于后端开发人员来说太繁琐了,而Swagger解决了这个问题,通过在项目中使用注解,启动项目后输入http://ip:端口号/swagger-ui.html/,即可访问由Swagger为我们生成的API文档,同时Swagger还提供了接口测试的功能,可以对特定的接口进行测试。
使用
导入依赖
在pom文件中导入Swagger2的依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
配置
1、Swagger2配置类
@Configuration
public class SpringFoxConfig {
//访问http://localhost:8081/swagger-ui.html可以看到API文档
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("慕慕生鲜API文档")
.description("")
.termsOfServiceUrl("")
.build();
}
}
2、地址映射配置
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// 解决swagger无法访问
registry.addResourceHandler("/swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
// 解决swagger的js文件无法访问
registry.addResourceHandler("/webjars/**")
.addResourceLocations("classpath:/META-INF/resources/webjars/");
WebMvcConfigurer.super.addResourceHandlers(registry);
}
}
然后在启动类上加上注解**@EnableSwagger2**
生成文档
在需要生成文档的Controller类中的方法上使用**@ApiOperation(“删除分类目录”)**注解去描述API接口;启动项目输入地址http://localhost:8081/swagger-ui.html即可看到生成的API文档,如下图所示:
点击指定的接口后会展开此接口,可以看到try it out,
点击try it out,然后输入参数,点击Execute即可发送请求测试接口是否有用。