【问题标题】:Mule 4 set HTTP status in DataweaveMule 4 在 Dataweave 中设置 HTTP 状态
【发布时间】:2023-03-12 07:36:01
【问题描述】:

您好,我已经阅读了很多 mule 4 文档,但没有找到答案。如何在 dataweave 转换器中设置 HTTP 状态?在 mule 3 中,它是在 set 属性组件中设置的。谢谢

【问题讨论】:

    标签: http mule status dataweave


    【解决方案1】:

    您可以在侦听器的 http:response 中使用statusCode 属性来告诉它从哪里获取状态。以下示例将从名为 httpStatus 的 var 中获取它,如果在流执行后 var 不可用,则默认为 200:

    <http:listener config-ref="api-httpListenerConfig" path="/api/v1/*">
                <http:response statusCode="#[vars.httpStatus default 200]">
                    <http:headers>#[vars.outboundHeaders default {}]</http:headers>
                </http:response>
                <http:error-response statusCode="#[vars.httpStatus default 500]">
                    <http:body>#[payload]</http:body>
                    <http:headers>#[vars.outboundHeaders default {}]</http:headers>
                </http:error-response>
            </http:listener>
    

    【讨论】:

    • 嗨,感谢您的回复,但我需要在 dataweave 转换器中使用它,因为我可以拥有大量 http.statuses 。应该通过在转换器中使用表达式来完成,但这就是我所知道的
    • 是的,所以在你的监听器中设置,然后在你的 dataweave 转换器中设置 httpStatus var 的值
    【解决方案2】:

    定义一个像下面这样的变量,它应该可以工作。

    <set-variable value="404" doc:name="httpStatus" variableName="httpStatus" />
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-22
      • 2021-10-27
      相关资源
      最近更新 更多