想象一下,您有一个带有入站 HTTP 接口(使用 HTTP 是一项要求)的应用程序(我们称之为 B )。您将来会从其他几个不同的应用程序中调用它,但目前您只想开发一个客户端(我们称之为 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