当前位置: 首页 > wzjs >正文

网站制作切片电商热门关键词

网站制作切片,电商热门关键词,珠海建网站设计,自已的电脑怎么做网站12.SpringDoc OpenAPI 功能介绍(用于生成API接口文档) SpringDoc OpenAPI 是一个基于 OpenAPI 3.0/3.1 规范的工具,用于为 Spring Boot 应用生成 API 文档。它是 springfox(Swagger 2.x)的现代替代方案,完全支持 Spring Boot 3.x…

12.SpringDoc OpenAPI 功能介绍(用于生成API接口文档)

SpringDoc OpenAPI 是一个基于 OpenAPI 3.0/3.1 规范的工具,用于为 Spring Boot 应用生成 API 文档。它是 springfox(Swagger 2.x)的现代替代方案,完全支持 Spring Boot 3.x 和 JDK 17+,具有更强的兼容性和功能。


1. SpringDoc OpenAPI 核心概念

(1) OpenAPI 规范
  • OpenAPI(原 Swagger 规范)是描述 RESTful API 的行业标准,支持 API 文档、测试和客户端代码生成。
  • SpringDoc OpenAPI 自动将 Spring Boot 的控制器、模型等转换为 OpenAPI 格式,并生成交互式 UI(Swagger UI)。
(2) 与 Spring Boot 的集成
  • 自动扫描:无需手动配置,SpringDoc 会自动扫描 @RestController@RequestMapping 等注解的 API。
  • 注解支持:通过 @Operation@Tag 等注解丰富文档内容。
  • 支持现代技术栈:兼容 WebFlux、Kotlin、Jakarta EE 9+ 等。
(3) 关键组件
  • OpenAPI 对象:定义 API 的元信息(标题、描述、版本等)。
  • @Tag 注解:对 API 进行分类(如用户管理、订单管理)。
  • @Operation 注解:描述单个 API 操作(如 GET、POST)。
  • @Schema 注解:描述模型类的字段(如用户 ID、用户名)。

2. SpringDoc OpenAPI 核心知识点

(1) 依赖与版本
  • Maven 依赖
    <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId><version>2.3.0</version> <!-- 最新稳定版 -->
    </dependency>
    
  • 版本选择
    • 2.x 系列支持 Spring Boot 3.x 和 OpenAPI 3.0。
    • 如果需要 OpenAPI 3.1,可以使用 springdoc-openapi-starter-webmvc-api
(2) 配置方式
  • 自动配置
    • 默认配置下,SpringDoc 会自动生成 API 文档,无需额外代码。
  • 自定义配置
    • 通过 OpenAPI 对象自定义元信息(如标题、描述)。
    • 通过 @Tag@Operation 注解补充 API 细节。
(3) 常用注解
注解作用
@Tag对 API 进行分类(如 @Tag(name = "用户管理"))。
@Operation描述单个 API 操作(如 @Operation(summary = "获取用户"))。
@Schema描述模型类的字段(如 @Schema(description = "用户ID"))。
@Parameter描述请求参数(如 @Parameter(description = "用户ID"))。
@ApiResponse描述响应状态码和内容(如 @ApiResponse(responseCode = "200"))。
(4) 执行路径
  • Swagger UI 路径
    • 默认访问:http://localhost:8080/swagger-ui.html
    • 可通过配置修改路径:
      @Bean
      public GroupedOpenApi publicApi() {return GroupedOpenApi.builder().group("public").pathsToMatch("/public/**").build();
      }
      
  • OpenAPI JSON 路径
    • 默认访问:http://localhost:8080/v3/api-docs
    • 支持分组 API 的 JSON 路径(如 /v3/api-docs/public)。

3. SpringDoc OpenAPI 的工作流程

  1. 启动应用
    • SpringDoc 自动扫描所有 @RestController@RequestMapping 注解的 API。
  2. 生成文档
    • 根据控制器、模型和注解生成 OpenAPI 3.0/3.1 格式的 JSON。
  3. 渲染 UI
    • 通过 Swagger UI 渲染交互式文档,支持测试 API。

4. 高级功能

(1) 分组 API
  • 将 API 按功能分组(如公共 API、管理员 API):
    @Bean
    public GroupedOpenApi publicApi() {return GroupedOpenApi.builder().group("public").pathsToMatch("/public/**").build();
    }
    
  • 访问分组后的 Swagger UI:
    • http://localhost:8080/swagger-ui/index.html#/public
(2) 安全性集成
  • 如果项目启用了 Spring Security,需要允许访问 Swagger UI:
    @Configuration
    public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/swagger-ui.html", "/v3/api-docs/**").permitAll().anyRequest().authenticated();}
    }
    
(3) 自定义 UI 配置
  • 修改 Swagger UI 的标题、布局等:
    @Bean
    public UIConfiguration uiConfig() {return UIConfiguration.builder().deepLinking(true).displayOperationId(false).docExpansion(DocExpansion.NONE).build();
    }
    
(4) 支持 OpenAPI 3.1
  • 使用 springdoc-openapi-starter-webmvc-api 依赖:
    <dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-api</artifactId><version>2.3.0</version>
    </dependency>
    

5. 与 Spring Boot 3.x 的兼容性

  • 为什么不用 springfox
    • springfox(Swagger 2.x)依赖了已移除的 Spring MVC 组件(如 PathPatternParser),无法与 Spring Boot 3.x 兼容。
    • SpringDoc OpenAPI 是专门为 Spring Boot 3.x 和 Jakarta EE 9+ 设计的。

6. 总结

  • 优势
    • 完全兼容 Spring Boot 3.x 和 JDK 17+。
    • 支持 OpenAPI 3.0/3.1,功能更强大。
    • 无需手动配置,自动扫描 API。
  • 适用场景
    • 需要快速生成 API 文档的 Spring Boot 项目。
    • 需要支持 OpenAPI 3.0/3.1 的现代应用。
  • 对比 springfox
    • SpringDoc 是 springfox 的替代方案,推荐在新项目中使用。

通过 SpringDoc OpenAPI,可以轻松为 Spring Boot 应用生成高质量的 API 文档,并支持交互式测试。

http://www.dtcms.com/wzjs/553932.html

相关文章:

  • 广州建设交易中心网站网络培训网站
  • 科技网站排名引流推广app
  • chrome不安全的网站设置wordpress获取文章内容过滤空格
  • 嘉兴网站系统总部网站建设成功案例
  • 上海响应式网站建设费用自己制作一个网页
  • 免费建站网站一站式seo李守洪排名大师
  • 网站首页成品用网站做成软件
  • 网站百度地图生成器网站建设摊销方法
  • 方案 网站godaddy
  • 专业的网站公司到哪里找上海公司代理注册公司
  • wordpress nextgen gallery网络优化软件下载
  • 网站解析是什么意思襄阳网站建设营销
  • 镇江网站建设top网站自然排名往后掉
  • 网站推广的方案设计怎么写做pc端网站资讯
  • 重庆网站建设沛宣找人做效果图那个网站
  • 东莞企业网站后缀互联网加盟
  • 做餐饮类网站用哪个程序中国建设银行产品信息网站
  • 网站用后台更换图片织梦网站统计
  • php和asp.net建立电商网站比较杭州网站开发制作公司排名
  • 做销售在哪个网站找客户开县网站制作
  • 高端品牌网站定制设计江门搜狗网站推广优化
  • 响应式网站好么wordpress 打赏功能
  • wordpress跳转自适应长沙seo霜天
  • 网站建设人员管理制度Wordpress多重筛选插件
  • 建设银行官网站查询珠宝网站策划书
  • html菜鸟入门教程黑帽seo排名
  • 小语种网站案例一级a做爰片免费网站视频
  • 吉林省级建设行政主管部门政务网站保险公司网站查询
  • 淘宝客单页网站免费ppt模板下载中国风
  • 律师行业协会网站建设酷虎云建站工具