原因:RestTemplate使用出错,我的情况是不知道这里要求用RestTemplate的使用格式,应该很多人都是这样吧?不过,看了下RestTemplate,感觉其实还是很好用的。
RestTemplate是一种使用格式,正确的格式为
mockMvc.perform(MockMvcRequestBuilders
.post("/lookRecord/delete/{collectId}", "8")
.accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
直接传值
mockMvc.perform(MockMvcRequestBuilders
.post("/lookRecord/delete/8")
.accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
错误的格式,不要使用转义符
mockMvc.perform(MockMvcRequestBuilders
.post("/lookRecord/delete/{\"collectId\"}","8")
.accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
不要忘记传值
mockMvc.perform(MockMvcRequestBuilders
.post("/lookRecord/delete/{collectId}")
.accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
错误的直接传值
mockMvc.perform(MockMvcRequestBuilders
.post("/lookRecord/delete/{8}")
.accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();
简易理解的方式为
String data= {"\"name\":\"jack\",\"age\":18"};
String url = "http://localhost:8080/search?people={data}";
mockMvc.perform(MockMvcRequestBuilders
.post(url,data)
.accept(MediaType.APPLICATION_JSON))
.andExpect(MockMvcResultMatchers.status().isOk())
.andDo(MockMvcResultHandlers.print())
.andReturn();