Java Wiremock无法匹配请求

Java Wiremock无法匹配请求,java,spring-boot,wiremock,spring-cloud-contract,Java,Spring Boot,Wiremock,Spring Cloud Contract,我试图断言在OAuth2流期间调用的先前存根端点: stubFor( post(urlPathEqualTo("/token")) .withHeader(AUTHORIZATION, equalTo("Basic cGluLmFwaS5jbGllbnRJZDpwaW4uYXBpLmNsaWVudFNlY3JldA==")) .withHeader(CONTENT_TYPE,

我试图断言在OAuth2流期间调用的先前存根端点:

        stubFor(
        post(urlPathEqualTo("/token"))
            .withHeader(AUTHORIZATION, equalTo("Basic cGluLmFwaS5jbGllbnRJZDpwaW4uYXBpLmNsaWVudFNlY3JldA=="))
            .withHeader(CONTENT_TYPE, equalTo("application/x-www-form-urlencoded;charset=UTF-8"))
            .withHeader(ACCEPT, equalTo(APPLICATION_JSON_VALUE + "," + APPLICATION_FORM_URLENCODED_VALUE))
            .willReturn(aResponse()
                .withStatus(HttpStatus.OK.value())
                .withHeader(CONTENT_TYPE, "application/json")
                .withHeader(CONNECTION, "Close")
                .withBody("{\n" +
                    "  \"access_token\": \"62466f2c-ff9e-4c6c-a866-b8296cf78041\",\n" +
                    "  \"scope\": \"trust read write\",\n" +
                    "  \"token_type\": \"bearer\",\n" +
                    "  \"expires_in\": 20300,\n" +
                    "}")));

有一段日志,存根/实际请求看起来相等,但Wiremock说
头不匹配


有人能告诉我这里有什么问题吗?提前谢谢你

在我看来,这似乎是一个逗号后有空格的问题,请尝试:

.withHeader(接受,相等(应用程序值+”,“+应用程序格式值))
顺便说一句,将标题与
equalTo
进行比较可能是不可靠的。您可以考虑使用<代码>包含< /C> >:

post(urlPathEqualTo("/token"))
    .withHeader(ACCEPT, containing(APPLICATION_JSON_VALUE))
    .withHeader(ACCEPT, containing(APPLICATION_FORM_URLENCODED_VALUE))

在我看来,这似乎是一个逗号后有空格的问题,请尝试:

.withHeader(接受,相等(应用程序值+”,“+应用程序格式值))
顺便说一句,将标题与
equalTo
进行比较可能是不可靠的。您可以考虑使用<代码>包含< /C> >:

post(urlPathEqualTo("/token"))
    .withHeader(ACCEPT, containing(APPLICATION_JSON_VALUE))
    .withHeader(ACCEPT, containing(APPLICATION_FORM_URLENCODED_VALUE))

谢谢你的回复!不幸的是,我在开始时尝试了一个建议,并注意到在这种情况下存根只存在最后一个头,例如,在您的示例中,仅存在应用程序\u表单\u URLENCODED\u值,无法理解为什么:(另外,尝试在逗号后不加空格,结果相同感谢您的回复!不幸的是,我在开始时尝试了建议的一个,并注意到在这种情况下,存根仅存在于最后一个头,例如,在您的示例中,仅存在应用程序\u FORM\u URLENCODED\u值,无法理解为什么:(另外,尝试在逗号后不加空格,结果相同。)