0

0

Java中如何用Swagger生成API文档

尼克

尼克

发布时间:2025-06-29 23:37:01

|

1066人浏览过

|

来源于php中文网

原创

如何在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的实现。

Java中如何用Swagger生成API文档

Swagger能帮你自动生成漂亮的API文档,省时省力,让前后端协作更顺畅。

Java中如何用Swagger生成API文档

解决方案

Java中如何用Swagger生成API文档
  1. 添加Swagger依赖

在你的pom.xml文件中添加Swagger的依赖。这里我们使用springdoc-openapi-ui,它提供了更现代的Swagger UI体验。

立即学习Java免费学习笔记(深入)”;

   
       org.springdoc
       springdoc-openapi-ui
       1.6.4
   

当然,你也可以选择传统的swagger2swagger-ui,但springdoc-openapi-ui更推荐。

Java中如何用Swagger生成API文档
  1. 配置Swagger

创建一个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。

  1. 使用Swagger注解

在你的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知道如何生成文档。

  1. 访问Swagger UI

启动你的Spring Boot应用,然后在浏览器中访问http://localhost:8080/swagger-ui.html。 你会看到Swagger UI界面,其中包含了所有API接口的文档。 (注意,8080是你的应用端口,如果你的应用端口不是8080,请替换成你的实际端口。)

PHP的使用技巧集
PHP的使用技巧集

PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。它可以比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多。下面介绍了十个PHP高级应用技巧。 1, 使用 ip2long() 和 long2ip() 函数来把 IP 地址转化成整型存储到数据库里

下载

Swagger注解有哪些常用的?

除了上面用到的 @Operation@Parameter@ApiResponse,还有一些其他的Swagger注解也很有用:

  • @Tag: 用于给API接口分组。比如,你可以将所有用户相关的接口放在一个组里,将所有订单相关的接口放在另一个组里。
  • @Schema: 用于描述请求体或响应体的结构。 这对于复杂的JSON对象非常有用。
  • @RequestBody: 用于描述请求体。 它可以和@Schema一起使用,详细描述请求体的每个字段。
  • @PathVariable: 用于描述路径参数。 和@Parameter类似,但更明确地指出参数是路径的一部分。
  • @RequestParam: 用于描述查询参数。 和@Parameter类似,但更明确地指出参数是查询字符串的一部分。

Swagger文档如何自定义?

Swagger文档的自定义主要体现在两个方面:一是配置,二是注解。

  • 配置方面:你可以通过修改SwaggerConfig.java来定制API文档的全局信息,比如标题、版本、描述、联系人信息、License信息等等。你还可以配置API接口的排序方式、是否显示内部接口等等。

  • 注解方面:你可以通过使用不同的Swagger注解,详细描述API接口的各个方面。 比如,你可以使用@Operationtags属性给API接口分组,使用@Schemaexample属性给请求体或响应体添加示例数据。

例如,你想给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
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

838

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

742

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

737

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

397

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

399

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

446

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

430

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

16926

2023.08.03

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

3

2026.01.20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kotlin 教程
Kotlin 教程

共23课时 | 2.7万人学习

C# 教程
C# 教程

共94课时 | 7.1万人学习

Java 教程
Java 教程

共578课时 | 48.2万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号