spring boot 2.3.7.RELEASE
swagger 2.8.0
在 pom.xml 文件中添加如下 maven 依赖信息:
<!--swagger support--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.8.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.8.0</version> </dependency>
通过实现 WebMvcConfigurer 接口的 addResourceHandlers(ResourceHandlerRegistry registry) 方法,映射 Swagger 资源。配置如下:
import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * 配置 Swagger * @author Administrator 2021/4/23 22:23 * @version 1.0 */ @Configuration public class WebMvcConfig implements WebMvcConfigurer { /** * 发现如果继承了WebMvcConfigurationSupport,则在yml中配置的相关内容会失效。 * 需要重新指定静态资源 * @param registry */ @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // 映射 webjars 资源 registry.addResourceHandler("swagger-ui.html") .addResourceLocations("classpath:/META-INF/resources/"); registry.addResourceHandler("/webjars/**") .addResourceLocations("classpath:/META-INF/resources/webjars/"); } }
在 Spring Boot 的启动类上面通过 @EnableSwagger2 注解启用 Swagger。代码如下:
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import springfox.documentation.swagger2.annotations.EnableSwagger2; @EnableSwagger2 @SpringBootApplication public class SpringbootSwaggerDemo1Application { public static void main(String[] args) { SpringApplication.run(SpringbootSwaggerDemo1Application.class, args); } }
运行 Spring Boot 应用,使用浏览器访问 http://localhost:8080/swagger-ui.html ,效果如下图: