---->HTTP-Inbound-Gateway->JSON-to-Object-Transformer->
客户:
<int:chain id="messageTransformerChain" input-channel="toServer" output-channel="messagesToServer">
...
<int:object-to-json-transformer />
</int:chain>
<int-http:outbound-gateway id="httpOutToSever"
request-channel="messagesToServer"
reply-channel="replyFromServer"
url="${server.endpoint}"
http-method="POST"
extract-request-payload="true"
expected-response-type="java.lang.String" />
服务器:
<int-http:inbound-gateway id="httpInboundFromClientGateway"
supported-methods="GET, POST"
request-channel="fromClientChannel" />
<int:chain input-channel="fromClientChannel">
<int:json-to-object-transformer />
...
</int:chain>
我不希望在通道的特定映射器上显式地指示类型,因为它们可以变化。有没有一种方法来配置我需要的组件来支持这个路径?
--引用--
(1)http://docs.spring.io/spring-integration/reference/html/messaging-transformation-chapter.html#Transformer滚动到Json Transformers小节
使用出站http适配器,用户头(在他的例子中是json类型信息)通过http以x-
<int-http:outbound-gateway request-channel="requestChannel"
url="http://localhost:18080/http/receiveGateway"
http-method="POST"
mapped-request-headers="foo"
expected-response-type="java.lang.String"/>
POST /http/receiveGateway HTTP/1.1
Accept: text/plain, */*
X-foo: bar
在服务器端,x-
不会被删除,因此您必须将其映射到X...
<int-http:inbound-gateway request-channel="receiveChannel"
path="/receiveGateway"
mapped-request-headers="x-foo"
supported-methods="POST"/>
然后,您需要在变压器之前的
中使用
来设置标题(减去“x-”)...
<int:header-enricher>
<int:header name="json__TypeId__" expression="headers['x-json__TypeId__']" />
...
</int:header-enricher>
(注意小写x
)。
编辑:
或者,在发送端,您可以将映射器配置为不为自定义头加前缀...
<bean id="mapper" class="org.springframework.integration.http.support.DefaultHttpHeaderMapper">
<property name="outboundHeaderNames" value="foo,bar" />
<property name="userDefinedHeaderPrefix" value="" />
</bean>
我有一个标准的json结构,里面有这样的内容
我目前正在使用SpringNetflixZuul库为一个新的微服务系统构建API网关。 到目前为止,我的网关包含和过滤器,用于拦截请求并执行所需的逻辑等。 我看到的一件事是,对特定微服务的REST调用需要调用包含非常复杂的JSON有效负载数据的APIendpoint(GET或POST)。 对于最终用户来说,向包含此JSON的微服务发送请求对用户不友好。 我有一个想法,即API网关充当中介,用户可以
我知道我可以在CKEditor配置文件中添加异常来允许某些HTML标记,但我希望有一种更简单的方法来实现这一点 基本上,我只需要一个简单的方法,以文字标题图像。有没有办法用CKEditor不会删除的东西复制 和 的功能?
问题内容: 我有一个场景。 必需的输入和输出是JSON。 我需要一些转换代码或最好是xslt类型的语言才能将json从一种格式转换为另一种格式。该变压器也需要快速运行,因为转换将即时进行。 编辑 我没有收到INPUT对象的定义,它可能会在运行时更改。但是如果需要,我可以将类用于OUTPUT对象。我尝试以 json- > xml-> xslt-> xml-> json的方式进行此操作 ,但 此刻 每
我想找一份工作。NET核心应用程序运行在elastic beanstalk上,从浏览器中的javascript接收WebSocket连接。 当我在本地机器上测试AWS外部的客户端和服务器时,我能够在两者之间建立websocket连接。但是,当我将服务器部署到elastic beanstalk时,会出现以下错误 服务器使用101交换协议进行响应,因此我知道服务器正在尝试建立连接,但缺少Sec Web
问题内容: 寻找匹配和替换的正则表达式序列(最好是PHP,但没关系)以更改此规则(开始和结束只是需要保留的随机文本)。 在: 到这个OUT: 谢谢。 问题答案: 您是否只是想删除评论?怎么样 或稍好一点(由发问者本人建议): 但是请记住,HTML 不是 正规的,因此当有人向其抛出奇怪的边缘情况时,使用正则表达式进行解析将使您陷入痛苦的世界。