wiremock java api - 存根请求 body 以 form-data 的形式(不是字符串,也不是 json)
wiremock java api - stub request body in form of form-data (not string, nor json)
正如标题所说,我必须以表单数据的形式将 post 请求与请求 body 存根。没有 json、字符串或 xml。我正在使用 junit 和 wiremock 的 java api。
我正在做类似以下的事情:
wireMockServer.stubFor(post(urlEqualTo(MY_URI))
.withRequestBody(
// how do I stub a body in form data format??
).willReturn(aResponse().withStatus(200).withHeader("content-type", "application/json").withBody(expectedBody))
);
有什么想法可以放在代码中而不是注释中吗?
谢谢!
目前 WireMock 中没有特定的表单匹配器(应该有,我一直想在它上面工作)。但是,您可以这样做:
wireMockServer.stubFor(post(MY_URI)
.withRequestBody(containing("key1=value1"))
.withRequestBody(containing("key2=value2"))
.willReturn(okJson(expectedResponse));
请注意,如果其中有任何元字符,您需要URL对值 1、值 2 等进行编码。
正如标题所说,我必须以表单数据的形式将 post 请求与请求 body 存根。没有 json、字符串或 xml。我正在使用 junit 和 wiremock 的 java api。
我正在做类似以下的事情:
wireMockServer.stubFor(post(urlEqualTo(MY_URI))
.withRequestBody(
// how do I stub a body in form data format??
).willReturn(aResponse().withStatus(200).withHeader("content-type", "application/json").withBody(expectedBody))
);
有什么想法可以放在代码中而不是注释中吗?
谢谢!
目前 WireMock 中没有特定的表单匹配器(应该有,我一直想在它上面工作)。但是,您可以这样做:
wireMockServer.stubFor(post(MY_URI)
.withRequestBody(containing("key1=value1"))
.withRequestBody(containing("key2=value2"))
.willReturn(okJson(expectedResponse));
请注意,如果其中有任何元字符,您需要URL对值 1、值 2 等进行编码。