gpt4 book ai didi

java - 如何从响应json中获取用户的id

转载 作者:行者123 更新时间:2023-11-30 01:47:47 24 4
gpt4 key购买 nike

我有mockmvc测试。

@Test
public void findAllUsers() throws Exception {
mockMvc.perform(MockMvcRequestBuilders
.get("http://localhost:8081/user/get")
.accept(MediaType.APPLICATION_JSON))
.andDo(print())
.andExpect(status().isOk())
.andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
.andExpect(jsonPath("$", hasSize(2)))
.andExpect(jsonPath("$[0].name", is("Ann")))
.andExpect(jsonPath("$[0].products", hasSize(2)))
.andExpect(jsonPath("$[1].name", is("John")))
.andExpect(jsonPath("$[1].products", hasSize(1)));
}

如何从这个响应中获取用户 ID 到某些附加变量?

例如我想要这样的东西:

String id = jsonPath"$[0].id"; 

我知道这行不通,但我需要在变量中包含用户的 ID。

最佳答案

您需要使用 andReturn() 方法分配调用的结果。然后你可以读取响应内容,读取你的id并将其分配给一个变量。请尝试:

MvcResult result = mockMvc.perform(MockMvcRequestBuilders
.get("http://localhost:8081/user/get")
.accept(MediaType.APPLICATION_JSON))
.andDo(print())
.andExpect(status().isOk())
.andExpect(content().contentType(MediaType.APPLICATION_JSON_UTF8))
.andExpect(jsonPath("$", hasSize(2)))
.andExpect(jsonPath("$[0].name", is("Ann")))
.andExpect(jsonPath("$[0].products", hasSize(2)))
.andExpect(jsonPath("$[1].name", is("John")))
.andExpect(jsonPath("$[1].products", hasSize(1)))
.andReturn();
String content = result.getResponse().getContentAsString();
String id = JsonPath.read(content, "[0].id");

关于java - 如何从响应json中获取用户的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57322926/

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