这是我的接口代码
逻辑就是 通过 IBookService对象中的 list 函数获取数据列表
然后定义 state(响应状态) message(提示信息)
最后将这三个信息 做成对象返回给前端
接口访问结果
但是这种对象数组对存储空间消耗肯定是比字符串大很多的
所以 我们来尝试 将json数组转成字符串内容返回
我们先要注入依赖
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.12.3</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.12.3</version>
</dependency>
然后 我们在需要使用的类中导包
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.JsonProcessingException;
然后 我们直接将代码改成这样
@GetMapping
public ResultUtil getAll() {
List<book> BookList = IBookService.list();
int state = BookList.isEmpty() ? 500 : 200;
String message = BookList.isEmpty() ? "未获取到对应记录" : "操作成功";
try {
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(BookList);
return new ResultUtil(state, json, message);
} catch (JsonProcessingException e) {
e.printStackTrace();
// 处理异常情况
return new ResultUtil(500, null, "JSON转换错误");
}
}
简单说转换的代码就是
try {
ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(需要转字符串的 对象/对象数组);
} catch (JsonProcessingException e) {
e.printStackTrace();
// 处理异常情况
}
我们重新运行项目 访问接口
空口无凭 我们用前端调用试一下
运行结果如下