Spring博文
我真的很小心了,但还是被 SpringEvent 坑了!
网上被吹爆的Spring Event事件订阅有缺陷,一个月内我被坑了两次!
@ConfigurationProperties VS @Value,你觉得哪个更好用 - 掘金
一个注解就搞定接口统一返回、统一异常处理、加签、验签、加密、解密
SpringBoot3 优雅集成 Knife4j - 掘金
Spring Boot 3.x 中的 RestClient 使用案例-Spring专区论坛-技术-SpringForAll社区
Maven项目Parent,可以试试用这个代替 Spring Boot Parent
SpringBoot集成Logback终极指南:从控制台到云端的多维日志输出
Knife4j:实时接口文档的利器
Spring Boot的Docker Layer优化:缩小镜像体积并提升启动速度-Spring专区论坛-技术-SpringForAll社区
使用Prometheus和Grafana监控Spring Boot应用
Spring Boot 4 新特性详解:5大核心更新助力企业级开发
SpringBoot3 http接口调用新方式RestClient + @HttpExchange像使用Feign一样调用
SpringBoot + SpringCloud Gateway + Sentinel + Redis:API 网关层的接口限流、黑名单拦截与用户认证
SpringBoot + Seata + MySQL + RabbitMQ:金融系统分布式交易对账与资金清算实战
SpringBoot + MyBatis-Plus + Elasticsearch + MySQL:电商商品搜索关键词高亮与库存实时展示
SpringBoot + RabbitMQ + MySQL + XXL-Job:物流系统运单状态定时同步与异常订单重试
本文档使用 MrDoc 发布
-
+
SpringBoot3 优雅集成 Knife4j - 掘金
1. **Swagger** :Swagger 是一个开源的 API 文档生成工具,它可以根据 API 的定义生成交互式的 API 文档,使开发者可以快速了解 API 的使用方法和参数。 2. Swagger 的**主要特点**包括: - **自动生成 API 文档**:Swagger 可以根据 API 的定义生成交互式的 API 文档,无需手动编写文档。 - **支持多种编程语言**:Swagger支持多种编程语言,包括 Java、Python、Node.js 等。 - **交互式文档**:Swagger 生成的文档可以交互式地尝试 API,查看请求和响应数据。 - **支持 OAuth 和其他认证机制**:Swagger 支持 OAuth 和其他认证机制,用于保护 API 的安全。 3. **Knife4j**:Knife4j是Swagger的一个增强版本,专为Java MVC框架设计,用于生成API文档。它提供了比原生Swagger UI更多的功能和更好的用户体验。 4. Knife4j 的**主要特点**包括: - **界面美化**: Knife4j对Swagger默认生成的文档界面进行了美化,提供了更加现代化和易于使用的UI,使得API文档更具可读性和用户友好性。 - **多API分组支持**: Knife4j允许将API分组,便于管理和查看不同模块或版本的API文档。 - **增强的接口调试功能**: 提供了在线测试接口的功能,开发者可以直接在文档页面中输入参数并发送请求,查看响应结果,方便调试和验证API。 > 版本信息:**SpringBoot3 + Knife4j 4** > > 注意事项:Spring Boot 3 只支持**OpenAPI3**规范 ```xml <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId> <version>4.4.0</version> </dependency> ``` ```yaml springdoc: swagger-ui: path: /swagger-ui.html tags-sorter: alpha operations-sorter: alpha api-docs: path: /v3/api-docs group-configs: - group: 'default' paths-to-match: '/**' packages-to-scan: com.knife4j.demo knife4j: enable: true setting: language: zh_cn ``` 1. 步骤3:基于OpenAPI3的规范注解,在项目的RSET接口中添加相应的注解。 ```java package com.example.demo.controller; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.tags.Tag; public class ExampleController { public ResponseEntity<SimpleResponse> simplePost( SimpleResponse request) { return ResponseEntity.ok(request); } public ResponseEntity<SimpleResponse> complexPost( String id, String authorization, String name, SimpleResponse request) { request.setName(request.getName() + ", 名称: " + name + ", 令牌: " + authorization + ", ID: " + id); return ResponseEntity.ok(request); } } ``` ```java import io.swagger.v3.oas.annotations.media.Schema; public class SimpleResponse { private String name; private String message; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } ``` 1. 步骤4:启动 `SpringBoot` 项目后,访问Knife4j的文档地址-`http://ip:port/doc.html`  > 生成API在线文档网页之后,就可以通过该文档进行接口调试。  ## 三、常见Swagger注解 1. `@Tag`: 用于给API分组并提供描述。 2. `@Operation`: 描述操作概要。 3. `@Parameters`: 定义多个Swagger参数注解。 4. `@Parameter` :用于描述API操作方法中的单个参数。 5. `@Schema`: - 类级别:用于描述整个类的用途和意义。 - 字段级别:用于描述字段的用途,同时可以提供一个示例值。
admin
2024年7月28日 07:12
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码