springboot2配置swagger
时间: 2025-03-24 13:12:34 浏览: 46
### 如何在 Spring Boot 2 中配置 Swagger
在 Spring Boot 2 中配置 Swagger 的过程主要包括引入依赖、启用 Swagger 功能以及自定义配置等内容。以下是详细的说明:
#### 1. 添加 Maven 或 Gradle 依赖
为了在项目中使用 Swagger,需要先在 `pom.xml` 文件中添加必要的依赖项。
```xml
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
```
如果使用的是 Gradle,则可以在 `build.gradle` 文件中添加如下内容:
```gradle
implementation 'io.springfox:springfox-boot-starter:3.0.0'
```
此版本的依赖适用于 Spring Boot 2.x 和 Java 8 及以上环境[^1]。
---
#### 2. 启用 Swagger 支持
通过创建一个配置类并标注相应的注解来启用 Swagger 功能。通常情况下,推荐使用 `@EnableOpenApi` 注解替代旧版中的 `@EnableSwagger2` 注解。
```java
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
@Configuration
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.OAS_30)
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
.paths(PathSelectors.any())
.build();
}
}
```
在此代码片段中,`Docket` 对象被用来指定 API 扫描路径以及其他相关设置。这里选择了扫描包名为 `com.example.demo.controller` 下的所有控制器方法,并启用了 OAS 3.0 标准的支持[^4]。
---
#### 3. 自定义 Swagger 配置(可选)
可以根据需求进一步定制化 Swagger 行为,比如添加基本信息描述、联系人信息或者授权机制等。
```java
@Bean
public Docket customApi() {
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
.securityContexts(Collections.singletonList(securityContext()))
.securitySchemes(Collections.singletonList(apiKey()));
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Spring Boot REST APIs with Swagger")
.description("This page lists all the rest apis of spring boot swagger demo app.")
.contact(new Contact("John Doe", "https://example.com", "[email protected]"))
.license("Apache License Version 2.0")
.licenseUrl("https://www.apache.org/licenses/LICENSE-2.0")
.version("2.0")
.build();
}
private SecurityContext securityContext() {
return SecurityContext.builder().securityReferences(defaultAuth()).forPaths(PathSelectors.regex("/.*")).build();
}
List<SecurityReference> defaultAuth() {
AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
authorizationScopes[0] = authorizationScope;
return Collections.singletonList(new SecurityReference("JWT", authorizationScopes));
}
private ApiKey apiKey() {
return new ApiKey("JWT", "Authorization", "header");
}
```
这段代码展示了如何向 Swagger 文档中加入更多元的信息,例如标题、描述、许可证详情以及安全认证相关内容[^3]。
---
#### 4. 测试与验证
完成上述配置之后,启动 Spring Boot 应用程序即可访问默认地址:
**http://localhost:8080/swagger-ui/index.html#/**
这会打开 Swagger UI 页面,在其中能够看到已有的 API 列表及其详细参数说明。此外还可以直接在线调用这些接口来进行功能测试。
---
### 注意事项
- 如果遇到跨域问题,请确认服务器端是否允许来自特定源的请求。
- 当升级到更高版本时,请注意检查官方文档是否有新的改动或废弃的功能点。
阅读全文
相关推荐


















