使用WebTestClient测试表单POST

时间:2019-03-24 14:13:08

标签: forms spring-webflux spring-test

如何使用WebTestClient测试POST表单。如何设置请求参数?

使用非反应性MockMvc可以使用.param(),但是WebTestClient似乎没有任何相似之处。

1 个答案:

答案 0 :(得分:0)

您需要使用BodyInserters.fromFormData()来准备请求的body


   @Autowired
   private WebTestClient client;
   private WebTestClient.ResponseSpec response;

...

      response = client.mutateWith(csrf()).post().uri("/login")
               .contentType(MediaType.APPLICATION_FORM_URLENCODED)
               .body(BodyInserters.fromFormData("username", player)
                        .with("password", password))
               .exchange();