String id = JSONObject.parseObject(vo).getString("id"); if (StringUtils.isBlank(vo)) { return ResultDTO.createErr("参数错误"); } Optional<SysContent> one = contentMapper.getOneById(id); return one.isPresent() ? ResultDTO.createOk(one.get()) : ResultDTO.createErr("获取内容消息失败"); 优化这段代码
时间: 2024-01-25 14:02:34 浏览: 335
com.alibaba.fastjson.JSONObject.rar
5星 · 资源好评率100%
这段代码可以进行以下优化:
1. 对参数进行有效性校验:
```java
if (StringUtils.isBlank(vo)) {
return ResultDTO.createErr("参数错误");
}
String id = JSONObject.parseObject(vo).getString("id");
if (StringUtils.isBlank(id)) {
return ResultDTO.createErr("参数错误");
}
```
2. 使用 `orElse` 方法替代 `isPresent` 方法:
```java
Optional<SysContent> one = contentMapper.getOneById(id);
return one.map(ResultDTO::createOk).orElse(ResultDTO.createErr("获取内容消息失败"));
```
这样可以使代码更加简洁,避免显式的 `isPresent` 操作。
3. 返回的错误信息可以更加具体化:
```java
Optional<SysContent> one = contentMapper.getOneById(id);
return one.map(ResultDTO::createOk).orElse(ResultDTO.createErr("获取内容消息失败,ID 为 " + id + " 的内容不存在"));
```
这样可以更明确地告知用户获取内容消息失败的原因。
完整的代码如下:
```java
if (StringUtils.isBlank(vo)) {
return ResultDTO.createErr("参数错误");
}
String id = JSONObject.parseObject(vo).getString("id");
if (StringUtils.isBlank(id)) {
return ResultDTO.createErr("参数错误");
}
Optional<SysContent> one = contentMapper.getOneById(id);
return one.map(ResultDTO::createOk).orElse(ResultDTO.createErr("获取内容消息失败,ID 为 " + id + " 的内容不存在"));
```
阅读全文