根本原因是将给定URL中的
RestTemplate花括号
{...}视为URI变量的占位符,并尝试根据其名称替换它们。例如
{pageSize}
会尝试获取名为的URI变量
pageSize。这些URI变量是通过其他一些重载getForObject方法指定的。你没有提供任何内容,但你的URL需要一个,因此该方法将引发异常。
一种解决方案是使
String包含该值的对象
String sort = "{"price":"desc"}";
并在你的网址中提供真实的URI变量
String url1 = "http://api.example.com/Search?key=52ddafbe3ee659bad97fcce7c53592916a6bfd73&term=&limit=100&sort={sort}";
你会打电话给你
getForObject(),像这样
OutputPage page = restTemplate.getForObject(url1, OutputPage.class, sort);
我强烈建议你不要在GET请求的请求参数中发送任何JSON,而应在POST请求的正文中发送。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)