要在本地覆盖单个 API 端点,你可以使用以下方法:
import com.github.tomakehurst.wiremock.WireMockServer;
import static com.github.tomakehurst.wiremock.client.WireMock.*;
public class LocalApiMock {
public static void main(String[] args) {
WireMockServer wireMockServer = new WireMockServer();
// 设置模拟的 API 端点响应
wireMockServer.stubFor(get(urlEqualTo("/api/endpoint"))
.willReturn(aResponse()
.withStatus(200)
.withHeader("Content-Type", "application/json")
.withBody("{\"message\": \"Hello, World!\"}")));
// 启动 Mock 服务器
wireMockServer.start();
// 执行你的应用程序调用 API 端点的代码
// ...
// 关闭 Mock 服务器
wireMockServer.stop();
}
}
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
public class LocalApiProxy {
public static void main(String[] args) throws IOException {
// 启动 Charles 并设置代理服务器地址和端口
// 执行你的应用程序调用 API 端点的代码
URL url = new URL("http://api.example.com/endpoint");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
// 获取代理服务器的响应
int responseCode = connection.getResponseCode();
if (responseCode == 200) {
// 处理成功的响应
} else {
// 处理错误的响应
}
// 关闭 Charles
}
}
无论你选择使用 Mock 服务器还是代理服务器,都可以根据你的需要定义不同的响应,以模拟各种情况,并在本地进行测试和调试。
上一篇:本地副本上丢失了git更改