sendMessageWithAttachment(@Parameter(name = "接收人") String to,
+ @Parameter(name = "标题") String subject,
+ @Parameter(name = "内容") String text,
+ @Parameter(name = "附件路径") String filePath) {
MailUtils.sendText(to, subject, text, new File(filePath));
return R.ok();
}
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java
index 9fc93074f..b80a9a8cd 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisCacheController.java
@@ -2,8 +2,8 @@ package com.ruoyi.demo.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.utils.redis.RedisUtils;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.CachePut;
@@ -21,7 +21,7 @@ import java.time.Duration;
*/
// 类级别 缓存统一配置
//@CacheConfig(cacheNames = "redissonCacheMap")
-@Api(value = "spring-cache 演示案例", tags = {"spring-cache 演示案例"})
+@Tag(name ="spring-cache 演示案例", description = "spring-cache 演示案例")
@RequiredArgsConstructor
@RestController
@RequestMapping("/demo/cache")
@@ -41,7 +41,7 @@ public class RedisCacheController {
*
* cacheNames 为配置文件内 groupId
*/
- @ApiOperation("测试 @Cacheable")
+ @Operation(summary = "测试 @Cacheable")
@Cacheable(cacheNames = "redissonCacheMap", key = "#key", condition = "#key != null")
@GetMapping("/test1")
public R test1(String key, String value) {
@@ -56,7 +56,7 @@ public class RedisCacheController {
*
* cacheNames 为 配置文件内 groupId
*/
- @ApiOperation("测试 @CachePut")
+ @Operation(summary = "测试 @CachePut")
@CachePut(cacheNames = "redissonCacheMap", key = "#key", condition = "#key != null")
@GetMapping("/test2")
public R test2(String key, String value) {
@@ -71,7 +71,7 @@ public class RedisCacheController {
*
* cacheNames 为 配置文件内 groupId
*/
- @ApiOperation("测试 @CacheEvict")
+ @Operation(summary = "测试 @CacheEvict")
@CacheEvict(cacheNames = "redissonCacheMap", key = "#key", condition = "#key != null")
@GetMapping("/test3")
public R test3(String key, String value) {
@@ -83,7 +83,7 @@ public class RedisCacheController {
* 手动设置过期时间10秒
* 11秒后获取 判断是否相等
*/
- @ApiOperation("测试设置过期时间")
+ @Operation(summary = "测试设置过期时间")
@GetMapping("/test6")
public R test6(String key, String value) {
RedisUtils.setCacheObject(key, value);
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java
index c31925a57..f9803c601 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisLockController.java
@@ -5,8 +5,8 @@ import com.baomidou.lock.LockTemplate;
import com.baomidou.lock.annotation.Lock4j;
import com.baomidou.lock.executor.RedissonLockExecutor;
import com.ruoyi.common.core.domain.R;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
@@ -21,7 +21,7 @@ import java.time.LocalTime;
*
* @author shenxinquan
*/
-@Api(value = "测试分布式锁的样例", tags = {"测试分布式锁的样例"})
+@Tag(name ="测试分布式锁的样例", description = "测试分布式锁的样例")
@Slf4j
@RestController
@RequestMapping("/demo/redisLock")
@@ -33,7 +33,7 @@ public class RedisLockController {
/**
* 测试lock4j 注解
*/
- @ApiOperation("测试lock4j 注解")
+ @Operation(summary = "测试lock4j 注解")
@Lock4j(keys = {"#key"})
@GetMapping("/testLock4j")
public R testLock4j(String key, String value) {
@@ -50,7 +50,7 @@ public class RedisLockController {
/**
* 测试lock4j 工具
*/
- @ApiOperation("测试lock4j 工具")
+ @Operation(summary = "测试lock4j 工具")
@GetMapping("/testLock4jLockTemplate")
public R testLock4jLockTemplate(String key, String value) {
final LockInfo lockInfo = lockTemplate.lock(key, 30000L, 5000L, RedissonLockExecutor.class);
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisPubSubController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisPubSubController.java
index 99c3131b4..da8522b5a 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisPubSubController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisPubSubController.java
@@ -2,9 +2,9 @@ package com.ruoyi.demo.controller;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.utils.redis.RedisUtils;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -15,24 +15,24 @@ import org.springframework.web.bind.annotation.RestController;
*
* @author Lion Li
*/
-@Api(value = "Redis发布订阅 演示案例", tags = {"Redis发布订阅"})
+@Tag(name ="Redis发布订阅 演示案例", description = "Redis发布订阅")
@RequiredArgsConstructor
@RestController
@RequestMapping("/demo/redis/pubsub")
public class RedisPubSubController {
- @ApiOperation("发布消息")
+ @Operation(summary = "发布消息")
@GetMapping("/pub")
- public R pub(@ApiParam("通道Key") String key, @ApiParam("发送内容") String value) {
+ public R pub(@Parameter(name = "通道Key") String key, @Parameter(name = "发送内容") String value) {
RedisUtils.publish(key, value, consumer -> {
System.out.println("发布通道 => " + key + ", 发送值 => " + value);
});
return R.ok("操作成功");
}
- @ApiOperation("订阅消息")
+ @Operation(summary = "订阅消息")
@GetMapping("/sub")
- public R sub(@ApiParam("通道Key") String key) {
+ public R sub(@Parameter(name = "通道Key") String key) {
RedisUtils.subscribe(key, String.class, msg -> {
System.out.println("订阅通道 => " + key + ", 接收值 => " + msg);
});
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisRateLimiterController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisRateLimiterController.java
index c7f48e519..80cf07325 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisRateLimiterController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/RedisRateLimiterController.java
@@ -3,8 +3,8 @@ package com.ruoyi.demo.controller;
import com.ruoyi.common.annotation.RateLimiter;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.LimitType;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.RestController;
*
* @author Lion Li
*/
-@Api(value = "测试分布式限流样例", tags = {"测试分布式限流样例"})
+@Tag(name ="测试分布式限流样例", description = "测试分布式限流样例")
@Slf4j
@RestController
@RequestMapping("/demo/rateLimiter")
@@ -26,7 +26,7 @@ public class RedisRateLimiterController {
* 测试全局限流
* 全局影响
*/
- @ApiOperation("测试全局限流")
+ @Operation(summary = "测试全局限流")
@RateLimiter(count = 2, time = 10)
@GetMapping("/test")
public R test(String value) {
@@ -37,7 +37,7 @@ public class RedisRateLimiterController {
* 测试请求IP限流
* 同一IP请求受影响
*/
- @ApiOperation("测试请求IP限流")
+ @Operation(summary = "测试请求IP限流")
@RateLimiter(count = 2, time = 10, limitType = LimitType.IP)
@GetMapping("/testip")
public R testip(String value) {
@@ -48,7 +48,7 @@ public class RedisRateLimiterController {
* 测试集群实例限流
* 启动两个后端服务互不影响
*/
- @ApiOperation("测试集群实例限流")
+ @Operation(summary = "测试集群实例限流")
@RateLimiter(count = 2, time = 10, limitType = LimitType.CLUSTER)
@GetMapping("/testcluster")
public R testcluster(String value) {
diff --git a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java
index b92078624..c9e51b1ff 100644
--- a/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java
+++ b/ruoyi-demo/src/main/java/com/ruoyi/demo/controller/SmsController.java
@@ -4,9 +4,9 @@ import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.utils.spring.SpringUtils;
import com.ruoyi.sms.config.properties.SmsProperties;
import com.ruoyi.sms.core.SmsTemplate;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import io.swagger.annotations.ApiParam;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
@@ -24,7 +24,7 @@ import java.util.Map;
* @version 4.2.0
*/
@Validated
-@Api(value = "短信演示案例", tags = {"短信演示案例"})
+@Tag(name ="短信演示案例", description = "短信演示案例")
@RequiredArgsConstructor
@RestController
@RequestMapping("/demo/sms")
@@ -34,10 +34,10 @@ public class SmsController {
// private final SmsTemplate smsTemplate; // 可以使用spring注入
// private final AliyunSmsTemplate smsTemplate; // 也可以注入某个厂家的模板工具
- @ApiOperation("发送短信Aliyun")
+ @Operation(summary = "发送短信Aliyun")
@GetMapping("/sendAliyun")
- public R