springboot同意异常处理
时间: 2023-10-28 18:51:09 浏览: 69
当在SpringBoot应用程序中发生异常时,可以使用@RestControllerAdvice注释的类来处理异常。这个类可以在应用程序中任何地方被调用,然后返回给用户一个友好的错误信息。您还可以在应用程序中使用@ControllerAdvice注释的类来处理不同类型的异常,比如控制器、业务逻辑和存储异常。具体的异常处理方法需要根据你的具体应用场景进行调整。
相关问题
使用springboot+redis实现微信好友添加同意功能
好的,这里提供一个简单的示例代码实现微信好友添加同意功能:
首先,需要在 Spring Boot 项目中引入 Redis 相关依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
```
然后,在 Redis 中添加一个集合,用于存储已同意添加好友的用户:
```java
@Component
public class RedisUtils {
@Autowired
private RedisTemplate<String, Object> redisTemplate;
/**
* 获取 Redis 集合
*/
public Set<Object> getSet(String key) {
return redisTemplate.opsForSet().members(key);
}
/**
* 添加元素到 Redis 集合
*/
public Boolean addToSet(String key, Object value) {
return redisTemplate.opsForSet().add(key, value) > 0;
}
}
```
在处理好友添加请求时,先判断该用户是否已经同意添加好友,如果已经同意,则直接返回成功,否则将请求添加到 Redis 队列中,并返回等待审核的提示信息:
```java
@RestController
@RequestMapping("/friend")
public class FriendController {
@Autowired
private RedisUtils redisUtils;
private static final String FRIEND_REQUEST_QUEUE = "friend_request_queue";
private static final String FRIEND_AGREED_SET = "friend_agreed_set";
/**
* 处理好友添加请求
*/
@PostMapping("/request")
public String handleFriendRequest(@RequestParam String userId, @RequestParam String friendId) {
// 判断该用户是否已经同意添加好友
if (redisUtils.getSet(FRIEND_AGREED_SET).contains(userId)) {
return "您已同意添加该好友,请勿重复操作!";
}
// 将请求添加到 Redis 队列中
redisUtils.addToSet(FRIEND_REQUEST_QUEUE, userId + ":" + friendId);
return "好友添加请求已发送,等待审核!";
}
}
```
最后,另外开启一个线程来处理 Redis 队列中的好友添加请求,并将每个已审核的用户添加到 Redis 集合中:
```java
@Component
public class FriendRequestHandler {
@Autowired
private RedisUtils redisUtils;
private static final String FRIEND_REQUEST_QUEUE = "friend_request_queue";
private static final String FRIEND_AGREED_SET = "friend_agreed_set";
@PostConstruct
public void start() {
new Thread(() -> {
while (true) {
// 从 Redis 队列中取出一条待审核的好友添加请求
Set<Object> set = redisUtils.getSet(FRIEND_REQUEST_QUEUE);
if (CollectionUtils.isEmpty(set)) {
continue;
}
Object[] array = set.toArray();
String request = (String) array[0];
redisUtils.redisTemplate.opsForSet().remove(FRIEND_REQUEST_QUEUE, request);
// 审核通过,将用户添加到已同意的好友集合中
String[] userIdAndFriendId = request.split(":");
redisUtils.addToSet(FRIEND_AGREED_SET, userIdAndFriendId[0]);
}
}).start();
}
}
```
以上就是使用 Spring Boot 和 Redis 实现微信好友添加同意功能的示例代码。需要注意的是,这只是一个简单的示例,实际项目中还需要考虑更多的安全性和异常处理。
阅读全文