相关文章推荐
沉着的沙滩裤  ·  Vim ftplugin executes ...·  1 年前    · 
private RestTemplate restTemplate; String url = "http://localhost:8080/search?people={\" name\ ":\" jack\ ",\" age\ ":18}" ; String email = restTemplate.getForObject(url, String . class );

这样使用,会出现如下报错信息:

Exception in thread "main" java.lang.IllegalArgumentException: Not enough variable values available to expand '"name"'

这个地方很令人费解,难道不能这样使用?经过一顿查找,发现原来是因为。。。

url因为本身的原因,把花括号 { } 中的内容当成了占位符,而这里又没有明确说明占位符对应的值,所以会导致报错。

只需要简单几步即可解决。在url中使用占位符,将占位符的值即所传 json 放在第3个参数位置。
如下:

String json = {"\"name\":\"jack\",\"age\":18"};
String url = "http://localhost:8080/search?people={json}";
String email = restTemplate.getForObject(url, String.class, json);

这样处理之后,就可以正常使用了。

说明: 用Spring RestTemplate 请求URL为"http://dfff/fsda?queryParam={\"fds\":\"www\"}"时报not enough variable values available 异常 ,其根本原因是 RestTemplate 认为大括号{…}在给定的URL作为一个URI变量占位符和试图取代他们 解决: 可用queryParam={queryParam}......
Failed to convert value of type ‘java.lang.String‘ to required type ‘java.lang.Long‘总是说请求参数类型错误
项目场景: 项目背景: 使用 RestTemplate 进行http调用时产生的Not enough variable values available to expand '""'报错 本来想通过url后拼接参数的方法去调用远程服务,把json串直接放在了url中 //调用女娲接口发送用户密码信息 JSONObject jobj=new JSONObject(); String user_name=user1.getName(); String user_nick
问题描述: java.lang.IllegalArgumentException: Not enough variable values available to expand 'wechat.corpid' 问题分析: 1、使用@Value注解时使用错误。 @Value("{wechat.corpid}") private String corpid; 解决办法:检测@Value注解格式是否正确。 @Value("${wechat.corpid}") "timestamp": "2020-08-11T12:11:39.982+0000", "status": 500, "error": "Internal Server Error", "message": "Not enough variable values available to expand '1'", "path": "/directory/insertDirectory" 这个错误是因为下方代码中restTem...
restTemplate java.lang.IllegalArgumentException: Not enough variable values available to expand
www.baidu.com/test?name=zhangsan&data={"age":"18"} 其实就是两个参数,一个参数是zhangsan 一个参数是{"age":"18"} 但是当用 resttemplate 的getforentity(或getforbody的时候)使用
//先把对象转化为Json String data = JSON.toJSONString(QueryCorpParam.builder().pageIndex(0).pageSize(1).corpCode(param.getCreditCode()).build()); //拼接时,用URLEncoder.encode去转译一下 String param = "&sign=".concat(sign).concat("&corpSign=").concat(URLEncoder.en.
1.上线在即,但是上游却一直在改动,导致下游很无力。不断去迎合。 (1)第一次修改,因为测试环境的服务器不存在防火墙的问题,所以代码本身是不存在任何问题,但是因为担心(因为有两台服务器。一台作为前端的访问,一台作为后台的处理。并且两台服务器所在的网络层不同,并且在调取上游接口的时候会有防火墙的问题),直接在prod 环境上面进行了测试,发现:写的代码在prod 环境会存在防火墙的问题,导致接口调不通。此前的前台有调上游的接口,第一次修改开始。 直接将前台的接口转发的后台的服务器。然后去调上游的接口,避免
用 Spring RestTemplate 请求URL为"http://dffffff/fdsa?queryParam={\"fds\":\"www\"}"时报Not enough variable values availabel 异常 ,其根本原因是 RestTemplate 认为大括号{…}在给定的URL作为一个URI变量占位符和试图取代他们, 可用queryParam={queryPar
RestTemplate get请求url附带json数据频频出现报错信息 Spring RestTemplate Exception: “Not enough variables available to expand ” 当我们尝试在 GET 请求中发送 JSON 数据时,通常会发生 异常 。 简单地说, RestTemplate 提供了getForObject方法,通过对指定 URL 发出 GET 请求来获取表示。 该 异常 的主要原因是 RestTemplate 将大括号中封装的 JSON 数据视为 URI
java.lang.IllegalArgumentException: Not enough variable values available to expand '66' 配置springcloud的consumer的服务的controller层错误 @RequestMapping("/findGenShenById") public GenShen findGenShenById(Integer uid) { System.out.println("how abou...
https://dataflow.spring.io/docs/2.5.0.SNAPSHOT/installation/kubernetes/kubectl/ Version: 2.5.0 SHAPSHOT ------------------------------------------------ docker 18.06 kubernetes 1.17.3 -------------...
异常:Invalid character found in the request target. The valid characters are defined in RFC 3986 101499