原因: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();
