创建虚拟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实体为主体的请求。如何在不发出实际HTTP请求的情况下创建HttpResponse实例?

我无法直接创建HttpResponse实例或HttpResponseImpl,因为它们都是受程序包保护的类。因此不确定如何进行。此方法在不同的地方使用,因此解决此问题无需在每个地方进行空检查。

非常感谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...