使用 Hutool 5.8.8 版本进行 POST 请求并处理响应的代码示例,其中包括发送用户实体类的 JSON 格式数据,并接收一个 Result 类,其中的 data 字段是一个用户列表
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
public class Main {
public static void main(String[] args) {
// 请求 URL
String url = “http://example.com/api/user”;
// 构建用户实体类对象(假设为 User 类)
User user = new User();
user.setUsername("john");
user.setPassword("123456");
// 将用户实体类对象转换为 JSON 字符串
String requestBody = JSONUtil.toJsonStr(user);
// 发送 POST 请求
HttpResponse response = HttpRequest.post(url)
.body(requestBody)
.execute();
// 获取响应状态码
int statusCode = response.getStatus();
if (statusCode == 200) {
// 请求成功,获取响应内容
String responseBody = response.body();
// 对响应内容进行处理
if (StrUtil.isNotBlank(responseBody)) {
// 解析响应数据为 Result 对象
Result result = JSONUtil.toBean(responseBody, Result.class);
// 检查 Result 对象中的状态码
if (result.getCode() == 200) {
// 获取用户列表
List<User> userList = JSONUtil.toList(result.getData(), User.class);
// 处理用户列表,例如遍历、打印等
for (User u : userList) {
System.out.println(u.getUsername());
}
} else {
System.out.println("Response error: " + result.getMessage());
}
} else {
System.out.println("Empty response.");
}
} else {
// 请求失败,打印错误信息
System.err.println("Request failed. Status code: " + statusCode);
}
}
}
请注意,上述代码中的 User 类是你自己定义的用户实体类,Result 类是接收响应结果的类,你需要根据实际情况进行定义和调整。
确保在你的项目中引入了 Hutool 5.8.8 版本的依赖,以及 JSONUtil 类所在的包路径正确。在代码中,我们使用了 HttpRequest 类来构建 POST 请求,并使用 HttpResponse 类来获取响应结果。使用 JSONUtil 类来实现 JSON 字符串和对象之间的转换。
你需要将 url 替换为你实际的请求 URL,并根据实际情况构建用户实体类对象,并将其转换为 JSON 字符串。在成功发送请求后,你可以根据响应结果的状态码和数据结构进行相应的处理。