java - 带有 get() 和 requestBody 的 WebTestClient 不可用

标签 java rest integration-testing spring-webclient webtestclient

我有一个应用程序,其中一个 api 是使用 Get 方法定义的。它还需要请求正文,然后将其映射到 POJO。我正在尝试使用 webTestClient 测试该 Controller 。但我没有看到使用 get() 方法发送请求正文的选项。不确定我是否以正确的方式定义我的 webTestClient。

我的 Controller 看起来像:

@GetMapping
public Flux<ResponseBody> getAllResources(@RequestBody Resource resource) {
//related code here...
}

我的测试方法:

@Test
public void myTest() {

webClient.get()
.uri("uri_path")
.header("Content-Type", "application/json")
.accept("application/json")
.exchange()
.expectedStatus.is2xxxSuccessful();
}

我在想,既然 Controller 允许通过 get 调用将对象绑定(bind)到 POJO,那么应该有某种方法使用 webTestClient 来测试它。

最佳答案

尝试使用:

webTestClient.method(HttpMethod.GET)

而不是:

webTestClient.get()

关于java - 带有 get() 和 requestBody 的 WebTestClient 不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63928759/

相关文章:

java - 无法运行monkeyrunner脚本

使用 scala 插件在 Intellij/maven 中配置 1.7 时的 Java 6 类

grails - 如何编写Grails过滤器的集成测试

c# - 确保在 C# 集成测试后所有线程都已停止

ruby-on-rails - 带有子域的 capybara - default_host

java - 从字符串中获取资源id

Java:线程生产者消费者等待数据产生的最有效方法是什么

rest - Swagger UI : How to custom sort resources

python - 如何在 python 中使用 BitBucket API 发布拉取请求评论?

java - 在java中构建rest api时使用servlet有什么优点