Java 避免代码重复Spring引导控制器

Java 避免代码重复Spring引导控制器,java,spring-boot,Java,Spring Boot,我有以下RestController(Spring boot2.0.4),其中有几种方法遵循相同的执行结构。它们可以指向不同的url,或者使用@GetMapping而不是@PostMapping进行注释: @RestController public class Controller { private final DataAccessLayer dal; @PostMapping("myUrl_1") execute(@RequestBody String param) {

我有以下
RestController
(Spring boot
2.0.4
),其中有几种方法遵循相同的
执行结构。它们可以指向不同的
url
,或者使用
@GetMapping
而不是
@PostMapping
进行注释:

@RestController
public class Controller {
    private final DataAccessLayer dal;

    @PostMapping("myUrl_1") execute(@RequestBody String param) {

        try {
            ... 
        } catch (CustomException e) {
            ...
        } catch (CustomException_2 e_2) {
            ...
        } finally {
            ...
        }
    }
    ...
}
唯一的区别是
param
用法和
dal
用法


我的问题是,如何避免
catch
finally
子句中的代码重复???
使用
@ControllerAdvice
@ExceptionHandler

您可以使用
@ControllerAdvice
@ExceptionHandler

@ControllerAdvice
:默认情况下
@ControllerAdvice
将应用于使用@Controller注释的所有类。如果您想让它更具体,那么可以编写一些属性,如
@ControllerAdvice(“my.org.package”)

@ExceptionHandler
:使用
@ControllerAdvice
@ExceptionHandler
提供全局错误处理。您可以编写注释
@ExceptionHandler(IllegalArgumentException.class)
,它将处理
IllegalArgumentException
的所有异常