【发布时间】:2015-07-06 16:05:05
【问题描述】:
我想使用 RestTemplate 来发出请求。我必须使用 GET 请求发送请求有效负载。是的,是的,我知道。所以我尝试了 RestTemplate.exchange,但无论如何它似乎都没有发送 GET 请求的有效负载。所以我进一步查看了文档和数字 RestTemplate.execute 可能是我正在寻找的......现在我在这里。
所以文档说明了执行:
对给定的 URI 模板执行 HTTP 方法,使用 RequestCallback 准备请求,并使用 ResponseExtractor 读取响应。
好的。让我们看看 RequestCallback
在 ClientHttpRequest 上运行的代码的回调接口。允许操作请求标头,并写入请求正文。 RestTemplate 内部使用,但对应用程序代码也很有用。
但是RequestCallback只有一种方法:doWithRequest,它通过ClientHttpRequest接口接受它的参数...它没有设置方法/ 操作请求的主体。可悲的是。 :C
所以,我有两个问题:
- 关于文档,我在这里遗漏了什么?
- 如何使用 RestTemplate 发出带有负载/请求正文的 GET 请求?
【问题讨论】:
-
对对对,我知道:那你为什么要这么做? GET 请求不应该有有效载荷。也就是说,ClientHttpRequest 有一个 getBody() 方法。那么,有什么问题呢?
-
“是的,是的,我知道。”不过,任何有用的想法都会很好!
-
你是怎么做到的?我需要存根与服务器的连接并将其替换为静态的 restTemplate。我需要请求使用预定义的 restTemplate 并在组件测试期间将响应发送到应用程序。
标签: spring spring-mvc get spring-3 resttemplate