gpt4 book ai didi

mule - 如何在 Mule 中将 org.glassfish.grizzly.utils.BufferInputStream 转换为 JSON?

转载 作者:行者123 更新时间:2023-12-03 12:00:18 25 4
gpt4 key购买 nike

在我使用 Mule 的第一步时,我正在编写一个基本的 Http 代理。
目前我将请求转发到 api 服务器,我想做的是在响应客户端之前读取我从它接收到的有效负载。

当我尝试用 #[payload] 记录它时,它会打印

 org.glassfish.grizzly.utils.BufferInputStream@2306df30

如何以 JSON 格式正确打印它?

完整代码:
<flow name="proxy">
<http:listener config-ref="http-lc-0.0.0.0-8081" path="![p['proxy.path']]" parseRequest="false"/>

<http:request config-ref="http-request-config" method="#[message.inboundProperties['http.method']]"
path="#[message.inboundProperties['http.request.path'].substring(message.inboundProperties['http.listener.path'].length()-2)]" parseResponse="false">
<http:request-builder>
<http:query-params expression="#[message.inboundProperties.'http.query.params']"/>
</http:request-builder>
<http:success-status-code-validator values="0..599" />
</http:request>

<logger doc:name="Logger" level="INFO" message="Payload #[payload]"/>

最佳答案

HTTP请求后的payload一般是流格式,ref:-https://docs.mulesoft.com/mule-user-guide/v/3.7/http-request-connector
您可以通过两种方式获取 http:request 之后的有效载荷

1) <object-to-string-transformer doc:name="Object to String"/>之后 http:request或者
2) 使用记录器并使用 MEL 表达式 <logger message="#[message.payloadAs(java.lang.String)]" level="INFO" doc:name="Logger"/>

关于mule - 如何在 Mule 中将 org.glassfish.grizzly.utils.BufferInputStream 转换为 JSON?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39476363/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com