欢迎访问宙启技术站
智能推送

使用SpringMVC怎么对Swagger进行整合

发布时间:2023-05-17 06:41:04

Swagger是一个用于API文档的开源框架,可以在API开发中快速地生成文档和测试代码。与SpringMVC结合使用,可以实现API文档、测试和代码的自动生成,使API开发更加高效和规范化。

下面的步骤将向读者展示如何在SpringMVC中整合Swagger。

# 1. 添加Swagger依赖

在Maven项目的POM文件中添加以下依赖:

<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger2</artifactId>
   <version>2.9.2</version>
</dependency>
<dependency>
   <groupId>io.springfox</groupId>
   <artifactId>springfox-swagger-ui</artifactId>
   <version>2.9.2</version>
</dependency>

# 2. 添加Swagger配置

在SpringMVC配置类中添加Swagger的配置:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
   @Bean
   public Docket api() {
       return new Docket(DocumentationType.SWAGGER_2)
               .select()
               .apis(RequestHandlerSelectors.any())
               .paths(PathSelectors.any())
               .build()
               .apiInfo(apiInfo());
   }
   private ApiInfo apiInfo() {
       return new ApiInfoBuilder()
               .title("API文档")
               .description("API文档")
               .version("1.0.0")
               .build();
   }
}

在配置类上标注@EnableSwagger2注解,表示开启Swagger功能。

Docket是Swagger的配置发动机,可以对Swagger进行更精细的配置。

api()方法用于创建一个Docket实例,并配置相关的信息,如API文档标题、接口地址、接口过滤规则、版本号、作者、联系方式等。

apiInfo()方法用于设置API文档的基本信息。

# 3. 配置Swagger-UI

添加Swagger-UI的Servlet:

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
   @Override
   public void addResourceHandlers(ResourceHandlerRegistry registry) {
       registry.addResourceHandler("swagger-ui.html")
               .addResourceLocations("classpath:/META-INF/resources/");

       registry.addResourceHandler("/webjars/**")
               .addResourceLocations("classpath:/META-INF/resources/webjars/");
   }
}

这里使用SpringMVC的WebMvcConfigurer配置类,并重写其addResourceHandlers()方法。

addResourceHandlers()方法用于添加静态资源的处理器,如Swagger-UI的HTML页面和相关的JavaScript和CSS文件。

具体地,方法中注册了两个ResourceHandler,分别映射了Swagger-UI的HTML及其相关的前端资源,它们均包含在classpath:下。

# 4. 运行程序并访问Swagger-UI

接下来启动SpringMVC程序,打开浏览器,输入以下链接:

http://localhost:8080/swagger-ui.html

此时,就可以看到Swagger-UI为我们生成的API文档页面了。

在Swagger-UI的页面中,可以找到API的详细信息、请求参数、响应结果、错误信息等。

同时,Swagger-UI也提供了API测试工具,可以方便地进行API的调试与测试。

在整合过程中,需要注意的是,如果API的注释中包含Markdown语法,则Swagger-UI会将其渲染成HTML格式。如果需要使用Markdown语法,可以引入springfox-boot-starter依赖,该依赖包含flexmark-all库,可以更好地支持Markdown语法的解析和渲染。

以上就是使用SpringMVC对Swagger进行整合的详细步骤。借助Swagger的强大功能和易用性,开发者可以更加高效地完成API开发和测试的工作。