代码之家  ›  专栏  ›  技术社区  ›  Raedwald

使用webtestclient测试表单post

  •  0
  • Raedwald  · 技术社区  · 7 年前

    如何使用 WebTestClient 是的。如何设置请求参数?

    使用非反应性 MockMvc 我可以用 .param() ,但是 网络测试客户端 似乎没有类似的东西。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Raedwald    7 年前

    你需要使用 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();