Mule 4 在 Dataweave 中设置 HTTP 状态

Mule 4 set HTTP status in Dataweave

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

您可以使用侦听器 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>

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

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