RestTemplate的異常:Not enough variables available to expand


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM