1

我有一个wiremock 独立服务器,它代理所有请求,即使响应已经保存在根目录中。

这是我的配置:

        WireMockConfiguration wireMockConfiguration = new WireMockConfiguration()
            .port(server.getPort())
            .withRootDirectory("./mocks/" + server.getRootDir())
            .notifier(new Slf4jNotifier(true));

        mockServer = new WireMockServer(wireMockConfiguration);

这是我的存根映射配置,此代码仅在 application.properties 上的“代理模式”属性为 true 时运行。我的存根映射:

    mockServer.loadMappingsUsing(stubMappings -> {
        RequestPattern requestPattern = RequestPatternBuilder
                .newRequestPattern(RequestMethod.ANY, WireMock.anyUrl())
                .build();

        ResponseDefinition responseDef = ResponseDefinitionBuilder
                .responseDefinition()
                .proxiedFrom("https://myProxyUrl.com")
                .build();
        StubMapping proxyBasedMapping = new StubMapping(requestPattern, responseDef);
        proxyBasedMapping.setPriority(10);

        stubMappings.addMapping(proxyBasedMapping);
    });

如果我将“代理模式”设置为 false,它会返回保存的响应。

我想要的是代理未保存的请求并返回已保存的响应。

我错过了什么?

[更新]

服务器重启后返回保存的响应。可以在运行时保存并返回保存的响应吗?

4

0 回答 0