示例代码:
@Around("pointCut()")
public Object around(ProceedingJoinPoint joinPoint) throws Throwable {
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletResponse response = attributes.getResponse();
//校验
Boolean statusCheck = XXXXXStatusCheck(response);
if (!statusCheck) {
Result<Boolean> result = new Result<>();
result.setData(false);
result.setSuccess(false);
result.setResultCode(ResultCode.XXXXX_NOT_CONFIG);
returnData(result,response);
}
return joinPoint.proceed();
}
/**
* 返回数据
*
* @param result
* @param response
* @throws IOException
*/
public void returnData(Result<Boolean> result, HttpServletResponse response) throws IOException {
response.setCharacterEncoding("UTF-8");
response.setContentType("application/json; charset=utf-8");
ObjectMapper objectMapper = new ObjectMapper();
//这里传提示语可以改成自己项目的返回数据封装的类
response.getWriter().println(objectMapper.writeValueAsString(result));
return;
}
代码简析: