点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我需要将所有应用程序故障都包装为自定义消息格式,并且需要采取相同的方法。
我无法捕获的场景是运行时异常和如下所示的开箱即用的Hyrbis实现
a)无效的登录名{" error":" invalid_grant"," error_description":"不良凭证"}
b)输入无效的产品,即该产品不存在。 [Http状态:400错误请求]
{"错误":[{"消息":"产品不能为空","类型":" IllegalArgumentError"}]}
等
有人可以建议适当的方法吗?
我尝试在自定义exceptionTranslationFilter和restHandlerExceptionResolver中捕获运行时异常,但无法捕获。
请建议我的方法是否错误。
我要显示所有错误情况的必需格式如下
{"错误":[{"消息":"试图创建重复的ID","原因":"多普特uid-Ausnahme(uid在Datenbank中的存在)","主题":" fs_duplicate_uid_exception"}] }
仅晚2年:),但我了解其他人正在寻找类似的答案。 正在更新一个类似的问题,并认为我也会回答这个问题,以便其他碰到这个问题的人受益。
关于您的有关OAUTH错误的第一个问题,
您要注意的json序列化来自Spring框架(spring-security模块)。 请查看OAuth2Exception类和负责序列化这些异常的注释OAuth2ExceptionJackson2Serializer。
您必须本质上创建自己的包装程序异常和自定义序列化程序,才能以所需的格式创建JSON。 您可以在此处找到示例 https://medium.com/ @ beladiyahardik7/spring-security-custom-oauth2exception-in-spring-b35a62af4d34
第二个错误
由于BaseController.handleErrorInternal中的转换,您注意到了它。 当找不到产品时,您将收到ModelNotFoundException,而该异常又被BaseController.handleModelNotFoundException捕获。 如果您希望对这些错误有更多的控制,我建议您对产品的存在进行早期验证,而将WebserviceValidationException与Errors对象一起抛出。 查看ProductDataValidator的示例和用法。
总而言之,您在基于OCC的Web服务上按以下顺序注意到了多层错误转换。
由Spring-security处理的OAuth2Exception和OAuth2ExceptionJackson2Serializer
validationErrorConverter,用于处理WebserviceValidationException
webserviceExceptionConverter处理任何类型为WebserviceException的异常
exceptionConverter,用于其他以前的转换器未捕获的异常。
嗨,我正在寻找与您的请求相同的请求,以了解我们如何自定义无效的登录错误?
您解决了吗?
您是否自定义了oauth服务器错误?
一周热门 更多>