gpt4 book ai didi

Mule Rest异常处理

转载 作者:行者123 更新时间:2023-12-01 03:41:04 26 4
gpt4 key购买 nike

骡子流:

<jersey:resources doc:name="REST">
<component class="com.test.qb.rest.MapIIFContent"/>
<jersey:exception-mapper class="com.test.qb.exception.IIFExceptionMapper" />
</jersey:resources>
<catch-exception-strategy doc:name="Audit Exception" >
<set-variable variableName="status" value="Failure" doc:name="Status"/>
<flow-ref name="QB:audit" doc:name="audit"/>
<http:response-builder status="500" contentType="application/json" doc:name="Status Code"/>
</catch-exception-strategy>
<logger message=" ===Reached here====" level="INFO" doc:name="Logger"/> <!-- Line 10-->

Java Rest 组件:

休息组件:
try{
String s =null;
s.toString();// throw nullpointer exception
} catch (IIFException e) {
return Response.status(500).entity(e.getMessage()).type("Application/json").build();
}
return Response.ok(res).build();

当我运行它时,它会在 Java Rest 组件中捕获错误状态为 500 的块。
但是在骡子流中我期望流应该达到

'catch-exception-strategy doc:name="Audit Exception" >



块,但它没有到达那里,而是到达第 10 行。我该如何处理?

最佳答案

我让休息组件抛出检查的自定义异常而不是返回休息响应状态:

try{
String s =null;
s.toString();
} catch (IIFException e) {
throw new IIFException(e.toString(),e.getCause());
}
return Response.ok(res).build();

在我的异常流中,将其设为:
<catch-exception-strategy doc:name="Audit Exception" >
<expression-component doc:name="Create error response"><![CDATA[#[payload = "{\"status\":\"error\", \"message\":\"" + exception.cause.message + "\"}"]]]></expression-component>
<http:response-builder status="500" contentType="application/json" doc:name="Status Code"/>
</catch-exception-strategy>

关于Mule Rest异常处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30793349/

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