如何在spring boot项目中使用swagger生成api文档?1.添加依赖,在pom.xml中引入springdoc-openapi-ui的依赖;2.创建配置类,定义openapi对象,设置标题、版本、描述等基本信息;3.在controller中使用@operation、@parameter、@apiresponse等注解描述接口信息;4.启动应用后访问http://localhost:8080/swagger-ui.html查看文档。此外,还可以使用@tag分组接口,@schema描述结构,@requestbody、@pathvariable、@requestparam分别描述不同类型的参数。通过修改配置类可自定义文档全局信息,如联系人、license等。swagger基于openapi标准生成文档,其中springdoc-openapi-ui是openapi 3.0的实现。
Swagger能帮你自动生成漂亮的API文档,省时省力,让前后端协作更顺畅。
解决方案
在你的pom.xml文件中添加Swagger的依赖。这里我们使用springdoc-openapi-ui,它提供了更现代的Swagger UI体验。
立即学习“Java免费学习笔记(深入)”;
<dependency> <groupId>org.springdoc</groupId> <artifactId>springdoc-openapi-ui</artifactId> <version>1.6.4</version> </dependency>
当然,你也可以选择传统的swagger2和swagger-ui,但springdoc-openapi-ui更推荐。
创建一个Swagger配置类,例如SwaggerConfig.java。
import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class SwaggerConfig { @Bean public OpenAPI customOpenAPI() { return new OpenAPI() .info(new Info() .title("我的API文档") .version("1.0") .description("这个文档包含了所有可用的API接口。")); } }
这个配置类定义了API文档的基本信息,比如标题、版本和描述。 @Configuration告诉Spring这是一个配置类,@Bean则告诉Spring这是一个需要被管理的Bean。
在你的Controller类和方法上添加Swagger注解,例如@Operation、@Parameter、@ApiResponse等。
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.responses.ApiResponse; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/users") public class UserController { @GetMapping("/{id}") @Operation(summary = "获取用户详情", description = "根据用户ID获取用户的信息。") @ApiResponse(responseCode = "200", description = "成功获取用户") @ApiResponse(responseCode = "404", description = "用户不存在") public String getUser(@Parameter(description = "用户ID") @PathVariable Long id) { // ...你的业务逻辑... return "用户ID: " + id; } @PostMapping @Operation(summary = "创建用户", description = "创建一个新的用户。") @ApiResponse(responseCode = "201", description = "成功创建用户") public String createUser(@RequestBody String user) { // ...你的业务逻辑... return "创建用户: " + user; } }
@Operation用于描述API接口,@Parameter用于描述参数,@ApiResponse用于描述响应。 这些注解让Swagger知道如何生成文档。
启动你的Spring Boot应用,然后在浏览器中访问http://localhost:8080/swagger-ui.html。 你会看到Swagger UI界面,其中包含了所有API接口的文档。 (注意,8080是你的应用端口,如果你的应用端口不是8080,请替换成你的实际端口。)
Swagger注解有哪些常用的?
除了上面用到的 @Operation、@Parameter、@ApiResponse,还有一些其他的Swagger注解也很有用:
Swagger文档如何自定义?
Swagger文档的自定义主要体现在两个方面:一是配置,二是注解。
配置方面:你可以通过修改SwaggerConfig.java来定制API文档的全局信息,比如标题、版本、描述、联系人信息、License信息等等。你还可以配置API接口的排序方式、是否显示内部接口等等。
注解方面:你可以通过使用不同的Swagger注解,详细描述API接口的各个方面。 比如,你可以使用@Operation的tags属性给API接口分组,使用@Schema的example属性给请求体或响应体添加示例数据。
例如,你想给API文档添加一个联系人信息:
import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Contact; import io.swagger.v3.oas.models.info.Info; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class SwaggerConfig { @Bean public OpenAPI customOpenAPI() { return new OpenAPI() .info(new Info() .title("我的API文档") .version("1.0") .description("这个文档包含了所有可用的API接口。") .contact(new Contact() .name("张三") .email("zhangsan@example.com") .url("http://example.com"))); } }
Swagger和OpenAPI有什么关系?
Swagger实际上是一套完整的API工具链,包括Swagger Editor(API设计工具)、Swagger UI(API文档展示工具)、Swagger Codegen(API代码生成工具)等等。而OpenAPI Specification(OAS)是一种用于描述RESTful API的标准格式。Swagger 2.0版本使用了Swagger Specification,而Swagger 3.0版本则改名为OpenAPI Specification。
简单来说,OpenAPI是标准,Swagger是工具,Swagger工具使用OpenAPI标准来生成API文档。所以,现在说Swagger,其实更多时候指的是OpenAPI。 springdoc-openapi-ui就是基于OpenAPI 3.0的实现。
以上就是Java中如何用Swagger生成API文档的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号