我知道,我们可以在 Spring-Boot 中轻松地在测试范围内模拟我们的代码。在这里,我想尝试在 Spring Boot 中创建一个演示生产范围/配置文件。在这个配置文件中,我想使用模拟场景。
例如,在我的代码中,有第三方 API 调用:
String API_URL = "https://external.com/v1/%s";
private CloseableHttpClient httpClient;
public Result executeRequest(String apiVersion, String subUrl, HttpMethod httpMethod)
{
try
{
HttpRequestBase httpRequest;
String url = String.format(API_URL, subUrl);
if (httpMethod.equals(HttpMethod.GET))
{
httpRequest = new HttpGet(url);
}
else if (httpMethod.equals(HttpMethod.POST))
{
httpRequest = new HttpPost(url);
((HttpPost) httpRequest).setEntity(new StringEntity(requestBody, "UTF-8"));
}
...
headers.forEach(httpRequest::setHeader);
HttpResponse response = httpClient.execute(httpRequest);
}
catch (IOException e)
{
logger.error("IO Error: {}", e.getMessage());
return handleExceptions(e);
}
}
有没有办法在生产中模拟它?或者更好的方法;有没有办法像(wiremock)一样为它创建嵌入式服务器?
注意:我已经在我的项目中实现了不同的配置文件属性,例如(生产、测试和开发),因此这与使用不同的配置文件无关。在这里,我只想在生产环境中模拟 API,而不是在测试配置文件中模拟 API。当然对于演示配置文件,我将创建 demo.properties