首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wiremock调用方法

Wiremock调用方法
EN

Stack Overflow用户
提问于 2021-05-21 21:13:16
回答 2查看 85关注 0票数 0

有没有办法在每次服务器收到请求时都调用java方法?

代码语言:javascript
复制
wireMockServer.stubFor(post(urlEqualTo("/testpost"))
                .willReturn(onIncomingRequest()));

就像这样,所以服务器会在每次使用这个存根时调用onIncomingRequest。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-21 23:18:59

您可以通过编写自定义响应转换器来实现所需的行为。响应转换器将查询WireMock的请求管理端点以检索最新的请求,并解析该数据以形成响应。

伪码:

代码语言:javascript
复制
public class LastRequestBody extends ResponseTransformer {
    public String getName() {
        return "LastRequestBody";
    }

    @Override
    public Response transform(Request request, Response response, FileSource files, Parameters parameters) {
        // Set up some client
        String wmRequests = "http://127.0.0.1:8080/__admin/requests" // update to whatever your WM base url is
        OkHttpClient client = new OkHttpClient();
        String url = HttpUrl.parse().newBuilder().build().toString();
        okhttp3.Response okhttpResponse = client.newCall(okHttpRequest).execute();

        // Parse WM response into JSON
        JSONParser parser = new JSONParser();
        JSONObject responseObj = (JSONObject) parser.parse(okhttpResponse.body().string());
        JSONArray requests = (JSONArray) responseObj.get("requests");
        JSONObject mostRecentRequest = (JSONObject) requests[0];
        String mostRecentRequestBody = mostRecentRequest.get("request").get("body").toString();

        // Return response that looks like the original request/response
        return Response.Builder.like(response).but().body(mostRecentRequestBody.toJSONString()).build();
 
    }
}

上面的代码可能不是100%正确的,但大纲应该足够坚实。

查看WM管理页面,了解有关查询all requests.的更多信息(其他假设-我使用JSONSimple进行解析,使用OkHttp3向WM发出请求)

票数 0
EN

Stack Overflow用户

发布于 2021-05-24 17:05:17

(最)正确的方法是实现PostServeAction。详细信息请参见this documentation pageWireMock's test cases

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67637556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档