【发布时间】:2021-06-03 12:10:03
【问题描述】:
假设您有一个带有入站 HTTP 接口的应用程序(我们称之为 B)(要求使用 HTTP)。您将来会从其他几个不同的应用程序中调用它,但目前您只想开发一个客户端(我们称之为 A)。所以在A中,有一个出站HTTP网关:
A (outbound gateway) ---[HTTP]---> (inbound gateway) B
是否可以共享代码,例如HTTP API 定义,例如路径(例如“/hello”)、方法(GET、POST、PUT ...),可能是这两个应用程序之间的参数/它们的类型/响应?如果是,怎么做?
我想使用 Java DSL,但我看到 Http.inboundGateway("..") 和 Http.outboundGateway("..") 完全不同(例如类型),所以我不确定。理想情况下,我可以有类似的东西:
@Bean
public IntegrationFlow inbound() {
return IntegrationFlows.from(apiDefinition)...
.get();
...
...
@Bean
public IntegrationFlow outbound() {
return IntegrationFlows.from(somehwere)...
.handle(with(apiDefinition))
.get();
Api 定义可以想象成如下(伪代码):
apiDefinition =
method: GET
path: /items/{id}
parameters:
id: string
response: item
【问题讨论】:
标签: java spring spring-integration spring-integration-dsl spring-integration-http