java - 创建一个虚拟的 java.net.http.HttpResponse 而不发出 HTTP 请求
问题描述
我有一个返回java.net.http.HttpResponse
对象或 null 的方法。这意味着我调用此方法的每个地方都需要在检查响应内容之前进行 nullcheck。
即今天我有:
public HttpResponse<String> makeRequest(HttpRequest request) {
if (condition) {
return client.send(request, HttpResponse.BodyHandlers.ofString());
}
return null; // Want to change this to a mock instance
}
为了防止在我调用此方法的每个地方进行不必要的 null 检查,我想创建一个模拟java.net.http.HttpResponse
实例,以便可以传递它而不是 null。理想情况下,可能是一个请求,其中包含statuscode=500
一些 Json 实体作为主体。如何在 HttpResponse
不发出实际 HTTP 请求的情况下创建实例?
我无法创建HttpResponse
实例或HttpResponseImpl
直接创建实例,因为两者都是受包保护的类。所以不确定如何进行。此方法在不同的地方使用,因此修复此问题无需在每个地方进行空检查。
非常感谢帮助
解决方案
推荐阅读
- visual-studio-code - 我想减少 VSCode 中的遥测
- c++ - 返回局部结构变量的成员变量是否安全?
- c# - 为什么服务总线输出绑定不适用于 Azure Functions?- 没有错误
- javascript - 如何在多个数组中找到最大的数字
- data-binding - 让 AVPlayer 的 SwiftUI 包装器在视图消失时暂停
- google-drive-api - 如何使用 Google Drive 获取请求文件/文件夹权限的用户列表
- sql - 如何将此查询中的 [Confirmed / Total] 字段转换为 lambda?与 CAST
- python - 从 Python 输出 JSON 文件。JSON 文件中的数据混乱
- c# - LINQ如何跨多个列表返回公共对象
- google-apps-script - Google Apps 脚本问题