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" />
您好,我已经阅读了很多 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" />