当前位置: 首页 > 知识库问答 >
问题:

在Springboot中拦截异常的Rest api

龚运乾
2023-03-14

我有一个rest api:

@RestController

.....

@PostMapping(value = "/v1/ms/prop")
    public @ResponseBody ResponseEntity<Object> orch(@RequestBody @Valid Request request){
        
            
        

Response response = serv.prop(request);
            return ResponseEntity.ok(response);

和serv.prop(请求):

Response response = new Response ();
    
    try {
        calculate(**data**);
        callExternalService();
    } catch (Exception e) {

   **//intercept status error code**
   **// writeError(data,errorStatusCode)**
        
    } finally {
        writeAuditOperation(auditLog);
        MDC.clear();
    }

在catch内部,我只想在这个api rest中截获错误类型(400404500502 ecc ecc),并调用记录此错误的外部服务。

谢谢你的帮助

共有1个答案

廖君昊
2023-03-14

与其在控制器中手动处理异常,不如尝试@ExceptionHandler

检查:https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc

 类似资料:
  • 我的项目是基于spring mvc的,我写了一个拦截器来拦截请求,我想从请求中获取参数,下面是我的代码: 但现在它抛出了一个异常: 出现例外的原因是什么?

  • 本文向大家介绍SpringBoot拦截器实现登录拦截的方法示例,包括了SpringBoot拦截器实现登录拦截的方法示例的使用技巧和注意事项,需要的朋友参考一下 源码 GitHub:https://github.com/291685399/springboot-learning/tree/master/springboot-interceptor01 SpringBoot拦截器可以做什么 可以对UR

  • 我的应用程序有许多RPC调用,它们都有一个.onFailure(可抛出捕获)方法。我有一个在客户端和服务器代码之间共享的类 不记录在例外中。如果用户没有基于会话/cookie/权限等的相关权限,则由服务器抛出。 理想情况下,我希望在将其他异常传递给.onFailure()代码之前,在一个地方处理此异常,因为此处理是如此普遍,而且出于安全考虑,需要如此。有一个GWT。setUncaughtExcep

  • 本文向大家介绍SpringBoot拦截器的使用小结,包括了SpringBoot拦截器的使用小结的使用技巧和注意事项,需要的朋友参考一下 总结一下SpringBoot下拦截器的使用,步骤很简单: 1.自定义自己的拦截类,拦截类需要继承HandlerInterceptor接口并实现这个接口的方法。 2.配置类需要继承WebMvcConfigurerAdapter类 3.启动SpringBoot应用即可

  • 问题内容: 我有一个流程,在CXF客户端上我安装了拦截器,提供程序和异常映射程序。就我而言,我正在通过拦截器捕获来自客户端的不良响应,然后我想中止cxf总线链并引发故障。不幸的是我做不到,因为在每种情况下都只记录从拦截器抛出的异常,但是主要错误(错误的json格式)会传播到异常映射器。我想避免使用异常映射器,但是我不知道怎么做。我正在使用WebClient来实现这样的拦截器: 我读到我应该实现ja

  • 我在我的Android应用程序中使用了一个自定义的和改型客户端,它在某些特定情况下会引发异常。我正试着用Kotlin Coroutines来让它工作。