如何在mock-server中使用对象回调upsert带指定ID的expectation
实现方案
直接使用Expectation内置的函数式回调重载即可完成带ID的upsert动态响应配置,不需要手动处理HttpObjectCallback与clientId参数,完整用法如下:
mock.upsert( new Expectation(request().withMethod("GET").withPath(MY_PATH)) // 直接传入回调逻辑 .thenRespond(httpRequest -> { final var response = dynamicResponse(); return response().withBody(json(response)); }) // 绑定指定ID,支持后续upsert更新 .withId(MY_REQUEST_ID) );
补充说明
你找到的接收HttpObjectCallback的thenRespond重载是面向跨进程回调场景设计的,clientId由MockServer客户端内部自动维护,同进程下使用回调不需要手动传入该参数,直接用函数式接口的重载即可满足需求。
如果当前使用的版本找不到该函数式重载,将MockServer依赖升级到5.11.2及以上稳定版本即可。
内容的提问来源于stack exchange,提问作者André
相关产品推荐
相关产品推荐

