我已经在我的本地实现了一个restfull webservice项目。从休息客户端我可以发送请求,我也得到了响应。 以下是rest-client“发布请求”:
{"address":{"type1":"abc","email":"tata@gmail.com"}}
响应:
{"address":{"type1":"abc","email":"tata@gmail.com"}}
这些是标题。
Content-Type:application/json
下面是我的本地java项目API URL:
http://localhost:8080/test/test1
现在我尝试学习spring XD如何使用spring XD发送请求。我已经在我的本地安装了Spring XD和RabbitMQ。
帮助我如何使用这些json请求从Spring XD发送post请求。
答案 0 :(得分:0)
由于您使用的是Spring,也许您可以使用课程org.springframework.web.clientRestTemplate
来请求您的API:
RestTemplate restTemplate = new RestTemplate();
HttpEntity<MailContact> request = new HttpEntity<>(new MailContact("contact@mail.net"));
Contact contact = restTemplate.postForObject("http://localhost:8080/test/test1", request, Contact.class);
希望这会有所帮助。
答案 1 :(得分:0)
使用httpMethod
属性...
--httpMethod=POST
和mappedRequestHeaders
添加自定义标头,但会获得X-
前缀。您需要使用自定义标头映射器自定义处理器以删除它。
答案 2 :(得分:0)
让我们给你举个例子。如果你希望SpringXD成为web服务客户端,从星期一到星期五每天早上8点到下午5点之间得到响应,并将结果转储到文件中, 请使用xd-shell
运行以下命令stream create --name my_rest_client --definition "trigger --cron='0 * 8-17 * * 1-5' | http-client --url='''http://localhost:8080/test/test1''' --replyTimeout=2000 --httpMethod=GET --outputType=text/plain | file" --deploy
触发模块将发送&#39;&#39; char作为默认请求,要更改此行为,您可以通过添加payload param来定义精确字符串,如: 触发--payload =&#39; yourRequestMessage&#39; --cron =&#39; 0 * 8-17 * * 1-5&#39;