在我的webflux应用程序中,我有这个GET
端点
v3/callback?state=cGF5bWVudGlkPTRiMmZlMG
我正在尝试使用WebTestClient
@Test
public void happyScenario() {
webTestClient.get().uri("/v3/callback?state=cGF5bWVudGlkPTRiMmZlMG")
.exchange()
.expectStatus()
.isOk();
}
此测试用例返回404 notFound
,如果我删除了查询参数,它将被调用,但是缺少state
参数
我尝试使用attribute
webTestClient.get().uri("/v3/callback")
.attribute("state","cGF5bWVudGlkPTRiMmZlMG")
.exchange()
.expectStatus()
.isOk();
但仍然缺少state
参数,使用webTestClient
时如何在请求中包含查询参数?
答案 0 :(得分:1)
您可以使用UriBuilder
。
webTestClient.get()
.uri(uriBuilder ->
uriBuilder
.path("/v3/callback")
.queryParam("state", "cGF5bWVudGlkPTRiMmZlMG")
.build())
.exchange()
.expectStatus()
.isOk();
这应该有效。