api 实施 - 这是正确的方法吗? (骡子 4.4)
api implementation - is this the right approach ? ( Mule 4.4 )
我正在实施一个需要与 ERP 交互并提取员工详细信息的 GET 请求。
现在与 ERP 的交互不使用 HTTP,因此它不会 return 状态代码,例如 400 等
如果存在任何错误,则会在 XML 负载响应中 returned。
示例:
<?xml version="1.0" encoding="utf8" ?>
<Output>
<Error>
<Status>0</Status>
<Details>No errors</Details>
</Error>
</Output>
所以我以这种方式实现了它 - 在调用 ERP 并收到响应后,我检查响应是否包含任何错误(errorCode = 0 表示错误,否则一切正常)
如果不是错误,则正常处理,如果是错误,我只需将 http 状态设置为 400 并使用错误详细信息填充响应。
问题:
在错误流程中,我没有抛出任何异常/错误,只是 return 发送一个包含 400 响应状态和错误详细信息的响应。
我的直觉是在这种情况下没有必要引发错误(抛出)然后再次在错误处理程序中捕获它。
我认为在这种情况下没有必要,但正在寻找一些反馈?
注意 - 下面的异常处理程序旨在捕获错误,例如 ERP 已关闭/不可用等
注意 - 因为这更像是一个设计/方法问题,所以我只粘贴流程的屏幕打印而不是实际代码
请分享您的反馈和建议
没有强制要求使用 Mule 错误处理return HTTP 状态,如果这是你的问题。
请注意,Mule 4 使用错误处理,而不是异常处理,尽管看起来很相似。
不相关,奇怪的是您将 HTTP 状态 400 用于服务器错误,而 400 表示错误的客户端请求。您可能想要使用更合适的状态。
我正在实施一个需要与 ERP 交互并提取员工详细信息的 GET 请求。
<?xml version="1.0" encoding="utf8" ?>
<Output>
<Error>
<Status>0</Status>
<Details>No errors</Details>
</Error>
</Output>
所以我以这种方式实现了它 - 在调用 ERP 并收到响应后,我检查响应是否包含任何错误(errorCode = 0 表示错误,否则一切正常)
如果不是错误,则正常处理,如果是错误,我只需将 http 状态设置为 400 并使用错误详细信息填充响应。
问题: 在错误流程中,我没有抛出任何异常/错误,只是 return 发送一个包含 400 响应状态和错误详细信息的响应。
我的直觉是在这种情况下没有必要引发错误(抛出)然后再次在错误处理程序中捕获它。 我认为在这种情况下没有必要,但正在寻找一些反馈?
注意 - 下面的异常处理程序旨在捕获错误,例如 ERP 已关闭/不可用等
注意 - 因为这更像是一个设计/方法问题,所以我只粘贴流程的屏幕打印而不是实际代码
请分享您的反馈和建议
没有强制要求使用 Mule 错误处理return HTTP 状态,如果这是你的问题。
请注意,Mule 4 使用错误处理,而不是异常处理,尽管看起来很相似。
不相关,奇怪的是您将 HTTP 状态 400 用于服务器错误,而 400 表示错误的客户端请求。您可能想要使用更合适的状态。