创建虚拟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 (将#修改为@)