gpt4 book ai didi

java - 带有查询参数的Spring webflux WebTestClient

转载 作者:行者123 更新时间:2023-11-28 21:15:52 34 4
gpt4 key购买 nike

在我的 webflux 应用程序中,我有这个 GET 端点

v3/callback?state=cGF5bWVudGlkPTRiMmZlMG

我正在尝试使用 WebTestClient 编写集成测试

@Test
public void happyScenario() {
webTestClient.get().uri("/v3/callback?state=cGF5bWVudGlkPTRiMmZlMG")
.exchange()
.expectStatus()
.isOk();
}

此测试用例返回 404 notFound,如果我删除查询参数,它将被调用,但 state 参数将丢失

我尝试使用属性

  webTestClient.get().uri("/v3/callback")
.attribute("state","cGF5bWVudGlkPTRiMmZlMG")
.exchange()
.expectStatus()
.isOk();

但仍然缺少 state 参数,如何在使用 webTestClient 时在请求中包含查询参数?

最佳答案

您可以使用UriBuilder

webTestClient.get()
.uri(uriBuilder ->
uriBuilder
.path("/v3/callback")
.queryParam("state", "cGF5bWVudGlkPTRiMmZlMG")
.build())
.exchange()
.expectStatus()
.isOk();

这应该有效。

关于java - 带有查询参数的Spring webflux WebTestClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58409743/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com