• 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();
    
  • 相关阅读:
    vue项目在IE中使用的一些坑(未完待续)
    Vue在IE下显示空白问题
    nginx 解决AJAX 跨域问题。
    node.js+express+jade 国际化
    Angular 2 HTTP Requests with Promise
    Windows x64编译 Qt5.7 Mysql驱动
    mysql [Err] 1215
    VS Code 调试Node.js express网站
    Node.js express 入门示例1
    build qt4.8.5 on centos7 or suse11.1
  • 原文地址:https://www.cnblogs.com/ydymz/p/8462581.html
Copyright © 2020-2023  润新知