如标题所示,我必须以表单数据的形式在请求正文中添加一个请求。没有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编码value1,value2等。

07-26 09:27