Java后端outbound_Spring Integration Java DSL – 如何调用int-http:outbound-gateway?

我在流程中有一个进行ReST API调用的部分:

reply-channel="logger"

url="${api.base.uri}/data"

http-method="PUT"

expected-response-type="java.lang.String"/>

logger-name="logger"

expression="payload"

level="INFO"/>

我试图使用Java DSL复制它,但找不到足够的文档.任何帮助将非常感激.

解决方法:

是的,Spring Integration Java DSL还没有提供HTTP的命名空间工厂.

无论如何,我们可以继续使用其通用组件来做到这一点:

@Bean

public MessageHandler logger() {

LoggingHandler loggingHandler = new LoggingHandler("INFO");

loggingHandler.setLoggerName("logger");

// This is redundant because the default expression is exactly "payload"

// loggingHandler.setExpression("payload");

return loggingHandler;

}

@Bean

public MessageHandler httpGateway(@Value("${api.base.uri}/data") URI uri) {

HttpRequestExecutingMessageHandler httpHandler = new HttpRequestExecutingMessageHandler(uri);

httpHandler.setExpectedResponseType(String.class);

httpHandler.setHttpMethod(HttpMethod.PUT);

return httpHandler;

}

@Bean

public IntegrationFlow httpFlow(MessageHandler httpGateway) {

return IntegrationFlows.from("requestChannel")

.handle(httpGateway)

.handle(logger())

.get();

}

从另一方面来看,所提到的文档完全展示了HttpRequestHandlingMessagingGateway的样本……

UPDATE

顺便说一下:随意提出一个JIRA票据,为Java DSL添加HTTP支持.

标签:java,http,spring,dsl,spring-integration

来源: https://codeday.me/bug/20190623/1272949.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值