@RestControllerAdvice 註解
Advice 在 Spring 中的含義就是對 XX 功能增強,RestControllerAdvice(ControllerAdvice)就是對控制器增強。之所以使用 RestControllerAdvice,是因爲我們對外提供的都是 Rest 接口(json)。
我們需要對 Controller 返回的內容做一些額外的工作,即功能增強,就需要利用到這個註解。另外,這個註解提供了 basePackages 屬性可以指定對特定 package 中的 Controller 生效。
ResponseBodyAdvice 接口
ResponseBodyAdvice 的作用是在響應體返回之前做一些自定義的處理工作。通常,我們會實現 ResponseBodyAdvice 接口,幷包裝統一的響應返回。接口的詳細定義可以閱讀 Spring 官網的解釋: Spring ResponseBodyAdvice
- supports 方法
supports 的返回值是 boolean 類型,用於指定哪些 Controller 方法需要處理。我們當前的代碼實現是標註了 IgnoreResponseAdvice 註解的類或者方法,統一響應不會生效。代碼解釋如下:
/**
* <h2>判斷是否需要對響應進行處理</h2>
* @return