从 MvcResult 获取 json 的大小

ann*_*erg 2 java spring json mockmvc

我正在测试一个 API 并从数据库获取所有数据。我将响应另存为

MvcResult result = mockMvc.perform(..some code..).andReturn();
Run Code Online (Sandbox Code Playgroud)

我收到一个 json 作为响应。我想获取json数组的长度。因此,如果数据库中有 2 行,我想得到 2 行结果。

或者是否有另一种方法来计算数据库中存在的行数。

Nic*_*tti 5

由于您使用的是 MockMvc 而不是返回,因此andReturn()您可以使用 JSONPath 支持,例如:

  mvc.perform( MockMvcRequestBuilders
  .get("/resource")
  .accept(MediaType.APPLICATION_JSON))
  .andExpect(status().isOk())
  .andExpect(MockMvcResultMatchers.jsonPath("$.length").value(2))
Run Code Online (Sandbox Code Playgroud)