我有一个弹簧控制器,其中定义了端点
@RequestMapping(value = "/hello", method = RequestMethod.POST)
@ResponseBody
public Map<String, String> hello() {
.....
}
在我的方面课程中,我有,
@Around("execution(* org.example.metrics.dropwizard.SampleController.hello(..))")
public Object aroundCallingHello(ProceedingJoinPoint joinPoint) throws Throwable
{
}
让我们说,我的端点将一个java对象作为参数(POST调用)保存在数据库中。 来自网页的请求是JSON。如果JSON结构与JAVA POJO结构不匹配,则抛出异常。但是我无法在Aspect类中捕获该异常(aroundCallingHello方法不起作用)。如何在AOP中捕获这种类型的异常(其中请求甚至没有到达控制器中的端点)。我需要跟踪应用程序中的各种异常。谢谢。
答案 0 :(得分:0)
您应该使用@ControllerAdvice
来实现这些类型的异常处理。你可以找到一个完整的explanation with example here。您可以使用方法(或多种方法)来处理不同类型的异常(包括您是否有任何自定义异常)。希望这有帮助!